comparison lib/diffseq.h @ 7451:6c5a4b5959bb diff-merge

Actually use the EQUAL macro.
author Bruno Haible <bruno@clisp.org>
date Thu, 21 Dec 2006 20:09:09 +0000
parents 050f00681985
children
comparison
equal deleted inserted replaced
7450:ef05b5eb2c12 7451:6c5a4b5959bb
189 x = tlo + 1; 189 x = tlo + 1;
190 else 190 else
191 x = thi; 191 x = thi;
192 oldx = x; 192 oldx = x;
193 y = x - d; 193 y = x - d;
194 while (x < xlim && y < ylim && xv[x] == yv[y]) 194 while (x < xlim && y < ylim && EQUAL (xv[x], yv[y]))
195 { 195 {
196 ++x; 196 ++x;
197 ++y; 197 ++y;
198 } 198 }
199 if (x - oldx > SNAKE_LIMIT) 199 if (x - oldx > SNAKE_LIMIT)
229 x = tlo; 229 x = tlo;
230 else 230 else
231 x = thi - 1; 231 x = thi - 1;
232 oldx = x; 232 oldx = x;
233 y = x - d; 233 y = x - d;
234 while (x > xoff && y > yoff && xv[x - 1] == yv[y - 1]) 234 while (x > xoff && y > yoff && EQUAL (xv[x - 1], yv[y - 1]))
235 { 235 {
236 --x; 236 --x;
237 --y; 237 --y;
238 } 238 }
239 if (oldx - x > SNAKE_LIMIT) 239 if (oldx - x > SNAKE_LIMIT)
280 { 280 {
281 /* We have a good enough best diagonal; now insist 281 /* We have a good enough best diagonal; now insist
282 that it end with a significant snake. */ 282 that it end with a significant snake. */
283 int k; 283 int k;
284 284
285 for (k = 1; xv[x - k] == yv[y - k]; k++) 285 for (k = 1; EQUAL (xv[x - k], yv[y - k]); k++)
286 if (k == SNAKE_LIMIT) 286 if (k == SNAKE_LIMIT)
287 { 287 {
288 best = v; 288 best = v;
289 part->xmid = x; 289 part->xmid = x;
290 part->ymid = y; 290 part->ymid = y;
316 { 316 {
317 /* We have a good enough best diagonal; now insist 317 /* We have a good enough best diagonal; now insist
318 that it end with a significant snake. */ 318 that it end with a significant snake. */
319 int k; 319 int k;
320 320
321 for (k = 0; xv[x + k] == yv[y + k]; k++) 321 for (k = 0; EQUAL (xv[x + k], yv[y + k]); k++)
322 if (k == SNAKE_LIMIT - 1) 322 if (k == SNAKE_LIMIT - 1)
323 { 323 {
324 best = v; 324 best = v;
325 part->xmid = x; 325 part->xmid = x;
326 part->ymid = y; 326 part->ymid = y;
429 { 429 {
430 const ELEMENT *const xv = ctxt->xvec; /* Help the compiler. */ 430 const ELEMENT *const xv = ctxt->xvec; /* Help the compiler. */
431 const ELEMENT *const yv = ctxt->yvec; 431 const ELEMENT *const yv = ctxt->yvec;
432 432
433 /* Slide down the bottom initial diagonal. */ 433 /* Slide down the bottom initial diagonal. */
434 while (xoff < xlim && yoff < ylim && xv[xoff] == yv[yoff]) 434 while (xoff < xlim && yoff < ylim && EQUAL (xv[xoff], yv[yoff]))
435 { 435 {
436 ++xoff; 436 ++xoff;
437 ++yoff; 437 ++yoff;
438 } 438 }
439 /* Slide up the top initial diagonal. */ 439 /* Slide up the top initial diagonal. */
440 while (xlim > xoff && ylim > yoff && xv[xlim - 1] == yv[ylim - 1]) 440 while (xlim > xoff && ylim > yoff && EQUAL (xv[xlim - 1], yv[ylim - 1]))
441 { 441 {
442 --xlim; 442 --xlim;
443 --ylim; 443 --ylim;
444 } 444 }
445 445