# HG changeset patch # User Chris Cannam # Date 1595005379 -3600 # Node ID 4d10365aa6a9e9767681f606c2e637a181ecaf12 # Parent 700fc9e4852da2f3655076d3612ee1feac1b13a1 Pull across a fix from the MATCH code diff -r 700fc9e4852d -r 4d10365aa6a9 align/DTW.h --- a/align/DTW.h Fri Jul 17 14:24:30 2020 +0100 +++ b/align/DTW.h Fri Jul 17 18:02:59 2020 +0100 @@ -144,10 +144,24 @@ #endif } - while (i > 0 && (j > 0 || subsequence)) { + while (i > 0 || j > 0) { alignment[i] = j; + if (i == 0) { + if (subsequence) { + break; + } else { + --j; + continue; + } + } + + if (j == 0) { + --i; + continue; + } + cost_t a = costs[j-1][i]; cost_t b = costs[j][i-1]; cost_t both = costs[j-1][i-1];