r94: min_cnt is tested in a wrong way in chain

This commit is contained in:
Heng Li 2017-06-28 10:39:27 -04:00
parent bcd9b1c621
commit bf0e8199e2
2 changed files with 6 additions and 6 deletions

10
chain.c
View File

@ -88,11 +88,11 @@ int mm_chain_dp(int max_dist, int bw, int max_skip, int min_cnt, int min_sc, int
t[j] = 1;
j = p[j];
} while (j >= 0 && t[j] == 0);
if (j < 0 && n_v - n_v0 >= min_cnt)
u[k++] = u[i]>>32<<32 | (n_v - n_v0);
else if ((int32_t)(u[i]>>32) - f[j] >= min_sc && n_v - n_v0 >= min_cnt)
u[k++] = ((u[i]>>32) - f[j]) << 32 | (n_v - n_v0);
else n_v = n_v0;
if (j < 0) {
if (n_v - n_v0 >= min_cnt) u[k++] = u[i]>>32<<32 | (n_v - n_v0);
} else if ((int32_t)(u[i]>>32) - f[j] >= min_sc) {
if (n_v - n_v0 >= min_cnt) u[k++] = ((u[i]>>32) - f[j]) << 32 | (n_v - n_v0);
} else n_v = n_v0;
}
n_u = k, *_u = u;

2
main.c
View File

@ -10,7 +10,7 @@
#include "minimap.h"
#include "mmpriv.h"
#define MM_VERSION "2.0-r93-pre"
#define MM_VERSION "2.0-r94-pre"
void liftrlimit()
{