difference between two indices. Usually
something like ssize_t. */
+/* Maximum value of type OFFSET. */
+#define OFFSET_MAX \
+ ((((OFFSET)1 << (sizeof (OFFSET_MAX) * CHAR_BIT - 2)) - 1) * 2 + 1)
+
/* Vectors being compared. */
static const ELEMENT *xvec, *yvec;
/* Similarly extend the bottom-up search. */
if (bmin > dmin)
- bd[--bmin - 1] = LIN_MAX;
+ bd[--bmin - 1] = OFFSET_MAX;
else
++bmin;
if (bmax < dmax)
- bd[++bmax + 1] = LIN_MAX;
+ bd[++bmax + 1] = OFFSET_MAX;
else
--bmax;
for (d = bmax; d >= bmin; d -= 2)
}
/* Find backward diagonal that minimizes X + Y. */
- bxybest = LIN_MAX;
+ bxybest = OFFSET_MAX;
for (d = bmax; d >= bmin; d -= 2)
{
OFFSET x = MAX (xoff, bd[d]);
#undef ELEMENT
#undef EQUAL
#undef OFFSET
-#
\ No newline at end of file
+#undef OFFSET_MAX
#define EQUAL(x,y) ((x) == (y))
#define OFFSET int
+/* Maximum value of type OFFSET. */
+#define OFFSET_MAX \
+ ((((OFFSET)1 << (sizeof (OFFSET_MAX) * CHAR_BIT - 2)) - 1) * 2 + 1)
+
/* Before including this file, you need to define:
ELEMENT The element type of the sequences being compared.
EQUAL A two-argument macro that tests two elements for
}
/* Similarly extend the bottom-up search. */
if (bmin > dmin)
- bd[--bmin - 1] = INT_MAX;
+ bd[--bmin - 1] = OFFSET_MAX;
else
++bmin;
if (bmax < dmax)
- bd[++bmax + 1] = INT_MAX;
+ bd[++bmax + 1] = OFFSET_MAX;
else
--bmax;
for (d = bmax; d >= bmin; d -= 2)
}
}
/* Find backward diagonal that minimizes X + Y. */
- bxybest = INT_MAX;
+ bxybest = OFFSET_MAX;
for (d = bmax; d >= bmin; d -= 2)
{
OFFSET x;