From db64df4b1c569089338b08223e1df913799fa9b5 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Tue, 14 Sep 2004 04:21:38 +0000 Subject: [PATCH] Fix contrib/cube and contrib/seg to compile on Windows. Andreas Pflug --- contrib/cube/cube.c | 98 ++++++++++++++++++++-------------------- contrib/cube/cubeparse.y | 6 +-- contrib/cube/cubescan.l | 2 +- contrib/seg/seg.c | 6 +-- contrib/seg/segparse.y | 8 ++-- contrib/seg/segscan.l | 2 +- 6 files changed, 59 insertions(+), 63 deletions(-) diff --git a/contrib/cube/cube.c b/contrib/cube/cube.c index 66b7334543..82a0972917 100644 --- a/contrib/cube/cube.c +++ b/contrib/cube/cube.c @@ -15,8 +15,6 @@ #include "cubedata.h" -#define max(a,b) ((a) > (b) ? (a) : (b)) -#define min(a,b) ((a) <= (b) ? (a) : (b)) #define abs(a) ((a) < (0) ? (-a) : (a)) extern int cube_yyparse(); @@ -590,8 +588,8 @@ cube_union(NDBOX * a, NDBOX * b) */ for (i = 0; i < b->dim; i++) { - result->x[i] = min(b->x[i], b->x[i + b->dim]); - result->x[i + a->dim] = max(b->x[i], b->x[i + b->dim]); + result->x[i] = Min(b->x[i], b->x[i + b->dim]); + result->x[i + a->dim] = Max(b->x[i], b->x[i + b->dim]); } for (i = b->dim; i < a->dim; i++) { @@ -603,8 +601,8 @@ cube_union(NDBOX * a, NDBOX * b) for (i = 0; i < a->dim; i++) { result->x[i] = - min(min(a->x[i], a->x[i + a->dim]), result->x[i]); - result->x[i + a->dim] = max(max(a->x[i], + Min(Min(a->x[i], a->x[i + a->dim]), result->x[i]); + result->x[i + a->dim] = Max(Max(a->x[i], a->x[i + a->dim]), result->x[i + a->dim]); } @@ -648,8 +646,8 @@ cube_inter(NDBOX * a, NDBOX * b) */ for (i = 0; i < b->dim; i++) { - result->x[i] = min(b->x[i], b->x[i + b->dim]); - result->x[i + a->dim] = max(b->x[i], b->x[i + b->dim]); + result->x[i] = Min(b->x[i], b->x[i + b->dim]); + result->x[i + a->dim] = Max(b->x[i], b->x[i + b->dim]); } for (i = b->dim; i < a->dim; i++) { @@ -661,8 +659,8 @@ cube_inter(NDBOX * a, NDBOX * b) for (i = 0; i < a->dim; i++) { result->x[i] = - max(min(a->x[i], a->x[i + a->dim]), result->x[i]); - result->x[i + a->dim] = min(max(a->x[i], + Max(Min(a->x[i], a->x[i + a->dim]), result->x[i]); + result->x[i + a->dim] = Min(Max(a->x[i], a->x[i + a->dim]), result->x[i + a->dim]); } @@ -720,8 +718,8 @@ cube_over_left(NDBOX * a, NDBOX * b) if ((a == NULL) || (b == NULL)) return (FALSE); - return (min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) <= - min(b->x[b->dim - 1], b->x[2 * b->dim - 1]) && + return (Min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) <= + Min(b->x[b->dim - 1], b->x[2 * b->dim - 1]) && !cube_left(a, b) && !cube_right(a, b)); } @@ -733,8 +731,8 @@ cube_over_right(NDBOX * a, NDBOX * b) if ((a == NULL) || (b == NULL)) return (FALSE); - return (min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) >= - min(b->x[b->dim - 1], b->x[2 * b->dim - 1]) && + return (Min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) >= + Min(b->x[b->dim - 1], b->x[2 * b->dim - 1]) && !cube_left(a, b) && !cube_right(a, b)); } @@ -747,8 +745,8 @@ cube_left(NDBOX * a, NDBOX * b) if ((a == NULL) || (b == NULL)) return (FALSE); - return (min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) < - min(b->x[0], b->x[b->dim])); + return (Min(a->x[a->dim - 1], a->x[2 * a->dim - 1]) < + Min(b->x[0], b->x[b->dim])); } /* return 'true' if the projection of 'a' is @@ -759,8 +757,8 @@ cube_right(NDBOX * a, NDBOX * b) if ((a == NULL) || (b == NULL)) return (FALSE); - return (min(a->x[0], a->x[a->dim]) > - min(b->x[b->dim - 1], b->x[2 * b->dim - 1])); + return (Min(a->x[0], a->x[a->dim]) > + Min(b->x[b->dim - 1], b->x[2 * b->dim - 1])); } /* make up a metric in which one box will be 'lower' than the other @@ -771,25 +769,25 @@ cube_cmp(NDBOX * a, NDBOX * b) int i; int dim; - dim = min(a->dim, b->dim); + dim = Min(a->dim, b->dim); /* compare the common dimensions */ for (i = 0; i < dim; i++) { - if (min(a->x[i], a->x[a->dim + i]) > - min(b->x[i], b->x[b->dim + i])) + if (Min(a->x[i], a->x[a->dim + i]) > + Min(b->x[i], b->x[b->dim + i])) return 1; - if (min(a->x[i], a->x[a->dim + i]) < - min(b->x[i], b->x[b->dim + i])) + if (Min(a->x[i], a->x[a->dim + i]) < + Min(b->x[i], b->x[b->dim + i])) return -1; } for (i = 0; i < dim; i++) { - if (max(a->x[i], a->x[a->dim + i]) > - max(b->x[i], b->x[b->dim + i])) + if (Max(a->x[i], a->x[a->dim + i]) > + Max(b->x[i], b->x[b->dim + i])) return 1; - if (max(a->x[i], a->x[a->dim + i]) < - max(b->x[i], b->x[b->dim + i])) + if (Max(a->x[i], a->x[a->dim + i]) < + Max(b->x[i], b->x[b->dim + i])) return -1; } @@ -798,16 +796,16 @@ cube_cmp(NDBOX * a, NDBOX * b) { for (i = dim; i < a->dim; i++) { - if (min(a->x[i], a->x[a->dim + i]) > 0) + if (Min(a->x[i], a->x[a->dim + i]) > 0) return 1; - if (min(a->x[i], a->x[a->dim + i]) < 0) + if (Min(a->x[i], a->x[a->dim + i]) < 0) return -1; } for (i = dim; i < a->dim; i++) { - if (max(a->x[i], a->x[a->dim + i]) > 0) + if (Max(a->x[i], a->x[a->dim + i]) > 0) return 1; - if (max(a->x[i], a->x[a->dim + i]) < 0) + if (Max(a->x[i], a->x[a->dim + i]) < 0) return -1; } @@ -821,16 +819,16 @@ cube_cmp(NDBOX * a, NDBOX * b) { for (i = dim; i < b->dim; i++) { - if (min(b->x[i], b->x[b->dim + i]) > 0) + if (Min(b->x[i], b->x[b->dim + i]) > 0) return -1; - if (min(b->x[i], b->x[b->dim + i]) < 0) + if (Min(b->x[i], b->x[b->dim + i]) < 0) return 1; } for (i = dim; i < b->dim; i++) { - if (max(b->x[i], b->x[b->dim + i]) > 0) + if (Max(b->x[i], b->x[b->dim + i]) > 0) return -1; - if (max(b->x[i], b->x[b->dim + i]) < 0) + if (Max(b->x[i], b->x[b->dim + i]) < 0) return 1; } @@ -911,13 +909,13 @@ cube_contains(NDBOX * a, NDBOX * b) } /* Can't care less about the excess dimensions of (a), if any */ - for (i = 0; i < min(a->dim, b->dim); i++) + for (i = 0; i < Min(a->dim, b->dim); i++) { - if (min(a->x[i], a->x[a->dim + i]) > - min(b->x[i], b->x[b->dim + i])) + if (Min(a->x[i], a->x[a->dim + i]) > + Min(b->x[i], b->x[b->dim + i])) return (FALSE); - if (max(a->x[i], a->x[a->dim + i]) < - max(b->x[i], b->x[b->dim + i])) + if (Max(a->x[i], a->x[a->dim + i]) < + Max(b->x[i], b->x[b->dim + i])) return (FALSE); } @@ -961,20 +959,20 @@ cube_overlap(NDBOX * a, NDBOX * b) /* compare within the dimensions of (b) */ for (i = 0; i < b->dim; i++) { - if (min(a->x[i], a->x[a->dim + i]) > - max(b->x[i], b->x[b->dim + i])) + if (Min(a->x[i], a->x[a->dim + i]) > + Max(b->x[i], b->x[b->dim + i])) return (FALSE); - if (max(a->x[i], a->x[a->dim + i]) < - min(b->x[i], b->x[b->dim + i])) + if (Max(a->x[i], a->x[a->dim + i]) < + Min(b->x[i], b->x[b->dim + i])) return (FALSE); } /* compare to zero those dimensions in (a) absent in (b) */ for (i = b->dim; i < a->dim; i++) { - if (min(a->x[i], a->x[a->dim + i]) > 0) + if (Min(a->x[i], a->x[a->dim + i]) > 0) return (FALSE); - if (max(a->x[i], a->x[a->dim + i]) < 0) + if (Max(a->x[i], a->x[a->dim + i]) < 0) return (FALSE); } @@ -1031,11 +1029,11 @@ distance_1D(double a1, double a2, double b1, double b2) { /* interval (a) is entirely on the left of (b) */ if ((a1 <= b1) && (a2 <= b1) && (a1 <= b2) && (a2 <= b2)) - return (min(b1, b2) - max(a1, a2)); + return (Min(b1, b2) - Max(a1, a2)); /* interval (a) is entirely on the right of (b) */ if ((a1 > b1) && (a2 > b1) && (a1 > b2) && (a2 > b2)) - return (min(a1, a2) - max(b1, b2)); + return (Min(a1, a2) - Max(b1, b2)); /* the rest are all sorts of intersections */ return (0.0); @@ -1074,7 +1072,7 @@ cube_ll_coord(NDBOX * a, int4 n) result = (double *) palloc(sizeof(double)); *result = 0; if (a->dim >= n && n > 0) - *result = min(a->x[n - 1], a->x[a->dim + n - 1]); + *result = Min(a->x[n - 1], a->x[a->dim + n - 1]); return result; } @@ -1087,7 +1085,7 @@ cube_ur_coord(NDBOX * a, int4 n) result = (double *) palloc(sizeof(double)); *result = 0; if (a->dim >= n && n > 0) - *result = max(a->x[n - 1], a->x[a->dim + n - 1]); + *result = Max(a->x[n - 1], a->x[a->dim + n - 1]); return result; } diff --git a/contrib/cube/cubeparse.y b/contrib/cube/cubeparse.y index 9157496672..94ffb260c0 100644 --- a/contrib/cube/cubeparse.y +++ b/contrib/cube/cubeparse.y @@ -28,7 +28,7 @@ static NDBOX * write_point_as_box(char *s, int dim); %} /* BISON Declarations */ -%token FLOAT O_PAREN C_PAREN O_BRACKET C_BRACKET COMMA +%token CUBEFLOAT O_PAREN C_PAREN O_BRACKET C_BRACKET COMMA %start box /* Grammar follows */ @@ -128,13 +128,13 @@ paren_list: ; list: - FLOAT { + CUBEFLOAT { /* alloc enough space to be sure whole list will fit */ $$ = palloc(scanbuflen + 1); strcpy($$, $1); } | - list COMMA FLOAT { + list COMMA CUBEFLOAT { $$ = $1; strcat($$, ","); strcat($$, $3); diff --git a/contrib/cube/cubescan.l b/contrib/cube/cubescan.l index a47dc4334a..289d23120d 100644 --- a/contrib/cube/cubescan.l +++ b/contrib/cube/cubescan.l @@ -39,7 +39,7 @@ float ({integer}|{real})([eE]{integer})? %% -{float} yylval = yytext; return FLOAT; +{float} yylval = yytext; return CUBEFLOAT; \[ yylval = "("; return O_BRACKET; \] yylval = ")"; return C_BRACKET; \( yylval = "("; return O_PAREN; diff --git a/contrib/seg/seg.c b/contrib/seg/seg.c index e86772ab2b..ce857aac47 100644 --- a/contrib/seg/seg.c +++ b/contrib/seg/seg.c @@ -14,8 +14,6 @@ #include "segdata.h" -#define max(a,b) ((a) > (b) ? (a) : (b)) -#define min(a,b) ((a) <= (b) ? (a) : (b)) #define abs(a) ((a) < (0) ? (-a) : (a)) /* @@ -924,7 +922,7 @@ restore(char *result, float val, int n) * put a cap on the number of siugnificant digits to avoid nonsense in * the output */ - n = min(n, FLT_DIG); + n = Min(n, FLT_DIG); /* remember the sign */ sign = (val < 0 ? 1 : 0); @@ -946,7 +944,7 @@ restore(char *result, float val, int n) if (exp == 0) { /* use the supplied mantyssa with sign */ - strcpy((char *) index(result, 'e'), ""); + strcpy((char *) strchr(result, 'e'), ""); } else { diff --git a/contrib/seg/segparse.y b/contrib/seg/segparse.y index 86640d7e51..d0c2f188bc 100644 --- a/contrib/seg/segparse.y +++ b/contrib/seg/segparse.y @@ -38,7 +38,7 @@ } bnd; char * text; } -%token FLOAT +%token SEGFLOAT %token RANGE %token PLUMIN %token EXTENSION @@ -105,13 +105,13 @@ range: ; boundary: - FLOAT { + SEGFLOAT { $$.ext = '\0'; $$.sigd = significant_digits($1); $$.val = seg_atof($1); } | - EXTENSION FLOAT { + EXTENSION SEGFLOAT { $$.ext = $1[0]; $$.sigd = significant_digits($2); $$.val = seg_atof($2); @@ -119,7 +119,7 @@ boundary: ; deviation: - FLOAT { + SEGFLOAT { $$.ext = '\0'; $$.sigd = significant_digits($1); $$.val = seg_atof($1); diff --git a/contrib/seg/segscan.l b/contrib/seg/segscan.l index b2a3bbe684..24ad662910 100644 --- a/contrib/seg/segscan.l +++ b/contrib/seg/segscan.l @@ -41,7 +41,7 @@ float ({integer}|{real})([eE]{integer})? {range} yylval.text = yytext; return RANGE; {plumin} yylval.text = yytext; return PLUMIN; -{float} yylval.text = yytext; return FLOAT; +{float} yylval.text = yytext; return SEGFLOAT; \< yylval.text = "<"; return EXTENSION; \> yylval.text = ">"; return EXTENSION; \~ yylval.text = "~"; return EXTENSION;