]> Savannah Git Hosting - gnulib.git/commitdiff
Make generic: introduce OFFSET_MAX.
authorBruno Haible <bruno@clisp.org>
Sat, 7 Oct 2006 16:07:31 +0000 (16:07 +0000)
committerBruno Haible <bruno@clisp.org>
Sat, 7 Oct 2006 16:07:31 +0000 (16:07 +0000)
lib/diffseq.h
lib/fstrcmp.c

index d805309bd0b894af15f654bba9dfc800e17ae483..ce4e3ed91d4b65088a4bdb78187b17468ba9d0d2 100644 (file)
                              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;
 
@@ -158,11 +162,11 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal,
 
       /* 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)
@@ -302,7 +306,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal,
            }
 
          /* 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]);
@@ -392,4 +396,4 @@ compareseq (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minima
 #undef ELEMENT
 #undef EQUAL
 #undef OFFSET
-#
\ No newline at end of file
+#undef OFFSET_MAX
index 6be6d7436d0da774ad6b03052b641f26d0a53a90..3368a4e01c0ab50d46c5736c7f8206eba762eab5 100644 (file)
 #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
@@ -256,11 +260,11 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal,
        }
       /* 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)
@@ -434,7 +438,7 @@ diag (OFFSET xoff, OFFSET xlim, OFFSET yoff, OFFSET ylim, bool find_minimal,
                }
            }
          /* Find backward diagonal that minimizes X + Y.  */
-         bxybest = INT_MAX;
+         bxybest = OFFSET_MAX;
          for (d = bmax; d >= bmin; d -= 2)
            {
              OFFSET x;