r94: min_cnt is tested in a wrong way in chain
This commit is contained in:
parent
bcd9b1c621
commit
bf0e8199e2
10
chain.c
10
chain.c
|
|
@ -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;
|
t[j] = 1;
|
||||||
j = p[j];
|
j = p[j];
|
||||||
} while (j >= 0 && t[j] == 0);
|
} while (j >= 0 && t[j] == 0);
|
||||||
if (j < 0 && n_v - n_v0 >= min_cnt)
|
if (j < 0) {
|
||||||
u[k++] = u[i]>>32<<32 | (n_v - n_v0);
|
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 && n_v - n_v0 >= min_cnt)
|
} else if ((int32_t)(u[i]>>32) - f[j] >= min_sc) {
|
||||||
u[k++] = ((u[i]>>32) - f[j]) << 32 | (n_v - n_v0);
|
if (n_v - n_v0 >= min_cnt) u[k++] = ((u[i]>>32) - f[j]) << 32 | (n_v - n_v0);
|
||||||
else n_v = n_v0;
|
} else n_v = n_v0;
|
||||||
}
|
}
|
||||||
n_u = k, *_u = u;
|
n_u = k, *_u = u;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue