X-Git-Url: https://git.ozlabs.org/?a=blobdiff_plain;f=ccan%2Fedit_distance%2Fedit_distance_lcs.c;h=190009c74f39d4b68c4fbe1ae37c756473ecc996;hb=b15b3673bf0fbbff48b87bddcf402b8bcdf41c59;hp=4bc867e6716fe3f278fc63f254ce65c1397909a3;hpb=346058c002415e57c6ed36efcfacb6813150aaa7;p=ccan diff --git a/ccan/edit_distance/edit_distance_lcs.c b/ccan/edit_distance/edit_distance_lcs.c index 4bc867e6..190009c7 100644 --- a/ccan/edit_distance/edit_distance_lcs.c +++ b/ccan/edit_distance/edit_distance_lcs.c @@ -13,6 +13,8 @@ ed_dist edit_distance_lcs(const ed_elem *src, ed_size slen, const ed_elem *tgt, ed_size tlen) { + ed_size i, j; + /* Optimization: Avoid malloc when row of distance matrix can fit on * the stack. */ @@ -24,11 +26,11 @@ ed_dist edit_distance_lcs(const ed_elem *src, ed_size slen, /* Initialize row with cost to delete src[0..i-1] */ dist[0] = 0; - for (ed_size i = 1; i <= slen; ++i) { + for (i = 1; i <= slen; ++i) { dist[i] = dist[i - 1] + ED_DEL_COST(src[i - 1]); } - for (ed_size j = 1; j <= tlen; ++j) { + for (j = 1; j <= tlen; ++j) { /* Value for dist[j-1][i-1] (one row up, one col left). */ ed_dist diagdist = dist[0]; dist[0] = dist[0] + ED_INS_COST(tgt[j - 1]); @@ -36,7 +38,7 @@ ed_dist edit_distance_lcs(const ed_elem *src, ed_size slen, /* Loop invariant: dist[i] is the edit distance between first j * elements of tgt and first i elements of src. */ - for (ed_size i = 1; i <= slen; ++i) { + for (i = 1; i <= slen; ++i) { ed_dist nextdiagdist = dist[i]; if (ED_ELEM_EQUAL(src[i - 1], tgt[j - 1])) {