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;
|
||||
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;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue