From: Bruno Haible Date: Mon, 18 Dec 2006 12:47:30 +0000 (+0000) Subject: Make the heuristic dependent on USE_HEURISTIC and the variable 'heuristic'. X-Git-Tag: v0.17~568 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=80f6ca9e9b98d7a9963ae5f6adbbae60572b0007;p=thirdparty%2Fgettext.git Make the heuristic dependent on USE_HEURISTIC and the variable 'heuristic'. --- diff --git a/gnulib-local/ChangeLog b/gnulib-local/ChangeLog index 09ff29ba2..d9e3c693b 100644 --- a/gnulib-local/ChangeLog +++ b/gnulib-local/ChangeLog @@ -1,5 +1,7 @@ 2006-10-07 Bruno Haible + * lib/fstrcmp.c: Rename macro MINUS_H_FLAG to USE_HEURISTIC. Use bool. + * lib/fstrcmp.c: Update comments. Talk about vectors instead of strings, and about elements instead of characters. diff --git a/gnulib-local/lib/fstrcmp.c b/gnulib-local/lib/fstrcmp.c index 310e7f216..a5732ac92 100644 --- a/gnulib-local/lib/fstrcmp.c +++ b/gnulib-local/lib/fstrcmp.c @@ -97,17 +97,6 @@ struct context } string[2]; - #ifdef MINUS_H_FLAG - - /* This corresponds to the diff -H flag. With this heuristic, for - vectors with a constant small density of changes, the algorithm is - linear in the vectors size. This is unlikely in typical uses of - fstrcmp, and so is usually compiled out. Besides, there is no - interface to set it true. */ - int heuristic; - - #endif - /* Vector, indexed by diagonal, containing 1 + the X coordinate of the point furthest along the given diagonal in the forward search of the edit matrix. */ @@ -118,6 +107,15 @@ struct context matrix. */ OFFSET *bdiag; + #ifdef USE_HEURISTIC + /* This corresponds to the diff -H flag. With this heuristic, for + vectors with a constant small density of changes, the algorithm is + linear in the vectors size. This is unlikely in typical uses of + fstrcmp, and so is usually compiled out. Besides, there is no + interface to set it true. */ + bool heuristic; + #endif + /* Edit scripts longer than this are too expensive to compute. */ OFFSET too_expensive; @@ -298,7 +296,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, if (find_minimal) continue; -#ifdef MINUS_H_FLAG +#ifdef USE_HEURISTIC /* Heuristic: check occasionally for a diagonal that has made lots of progress compared with the edit distance. If we have any such, find the one that has made the most progress and return @@ -395,7 +393,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal, return; } } -#endif /* MINUS_H_FLAG */ +#endif /* USE_HEURISTIC */ /* Heuristic: if we've gone well beyond the call of duty, give up and report halfway between our best results so far. */