From: Sandro Santilli Date: Tue, 9 Aug 2011 14:19:12 +0000 (+0000) Subject: Move floating points comparator macros from liblwgeom.h to liblwgeom_internal.h ... X-Git-Tag: 2.0.0alpha1~1133 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=e8814f483ca94595451d964550e5c5544afbbe5e;p=postgis Move floating points comparator macros from liblwgeom.h to liblwgeom_internal.h (not prefixed symbols) [RT-SIGTA] git-svn-id: http://svn.osgeo.org/postgis/trunk@7714 b70326c6-7e19-0410-871a-916f4a2858ee --- diff --git a/liblwgeom/liblwgeom.h b/liblwgeom/liblwgeom.h index 50acfc740..99fc5edc4 100644 --- a/liblwgeom/liblwgeom.h +++ b/liblwgeom/liblwgeom.h @@ -37,25 +37,6 @@ * no special handling for memory management and error reporting. */ -/** -* Floating point comparitors. -*/ -#define FP_TOLERANCE 1e-12 -#define FP_IS_ZERO(A) (fabs(A) <= FP_TOLERANCE) -#define FP_MAX(A, B) (((A) > (B)) ? (A) : (B)) -#define FP_MIN(A, B) (((A) < (B)) ? (A) : (B)) -#define FP_EQUALS(A, B) (fabs((A)-(B)) <= FP_TOLERANCE) -#define FP_NEQUALS(A, B) (fabs((A)-(B)) > FP_TOLERANCE) -#define FP_LT(A, B) (((A) + FP_TOLERANCE) < (B)) -#define FP_LTEQ(A, B) (((A) - FP_TOLERANCE) <= (B)) -#define FP_GT(A, B) (((A) - FP_TOLERANCE) > (B)) -#define FP_GTEQ(A, B) (((A) + FP_TOLERANCE) >= (B)) -#define FP_CONTAINS_TOP(A, X, B) (FP_LT(A, X) && FP_LTEQ(X, B)) -#define FP_CONTAINS_BOTTOM(A, X, B) (FP_LTEQ(A, X) && FP_LT(X, B)) -#define FP_CONTAINS_INCL(A, X, B) (FP_LTEQ(A, X) && FP_LTEQ(X, B)) -#define FP_CONTAINS_EXCL(A, X, B) (FP_LT(A, X) && FP_LT(X, B)) -#define FP_CONTAINS(A, X, B) FP_CONTAINS_EXCL(A, X, B) - /** * Return types for functions with status returns. */ @@ -100,7 +81,7 @@ */ #define POINTTYPE 1 #define LINETYPE 2 -#define POLYGONTYPE 3 +#define POLYGONTYPE 3 #define MULTIPOINTTYPE 4 #define MULTILINETYPE 5 #define MULTIPOLYGONTYPE 6 diff --git a/liblwgeom/liblwgeom_internal.h b/liblwgeom/liblwgeom_internal.h index 7f31a1cf9..23f4adf0e 100644 --- a/liblwgeom/liblwgeom_internal.h +++ b/liblwgeom/liblwgeom_internal.h @@ -29,6 +29,25 @@ */ #define PI 3.1415926535897932384626433832795 +/** +* Floating point comparitors. +*/ +#define FP_TOLERANCE 1e-12 +#define FP_IS_ZERO(A) (fabs(A) <= FP_TOLERANCE) +#define FP_MAX(A, B) (((A) > (B)) ? (A) : (B)) +#define FP_MIN(A, B) (((A) < (B)) ? (A) : (B)) +#define FP_EQUALS(A, B) (fabs((A)-(B)) <= FP_TOLERANCE) +#define FP_NEQUALS(A, B) (fabs((A)-(B)) > FP_TOLERANCE) +#define FP_LT(A, B) (((A) + FP_TOLERANCE) < (B)) +#define FP_LTEQ(A, B) (((A) - FP_TOLERANCE) <= (B)) +#define FP_GT(A, B) (((A) - FP_TOLERANCE) > (B)) +#define FP_GTEQ(A, B) (((A) + FP_TOLERANCE) >= (B)) +#define FP_CONTAINS_TOP(A, X, B) (FP_LT(A, X) && FP_LTEQ(X, B)) +#define FP_CONTAINS_BOTTOM(A, X, B) (FP_LTEQ(A, X) && FP_LT(X, B)) +#define FP_CONTAINS_INCL(A, X, B) (FP_LTEQ(A, X) && FP_LTEQ(X, B)) +#define FP_CONTAINS_EXCL(A, X, B) (FP_LT(A, X) && FP_LT(X, B)) +#define FP_CONTAINS(A, X, B) FP_CONTAINS_EXCL(A, X, B) + /** * Well-Known Text (WKT) Output Variant Types diff --git a/postgis/geography_btree.c b/postgis/geography_btree.c index 128458bd9..14a020500 100644 --- a/postgis/geography_btree.c +++ b/postgis/geography_btree.c @@ -15,6 +15,7 @@ #include "../postgis_config.h" #include "liblwgeom.h" /* For standard geometry types. */ +#include "liblwgeom_internal.h" /* For FP comparators. */ #include "lwgeom_pg.h" /* For debugging macros. */ #include "gserialized_gist.h" #include "geography.h" /* For utility functions. */ diff --git a/postgis/geography_measurement.c b/postgis/geography_measurement.c index feeae0c83..b7c75dbb7 100644 --- a/postgis/geography_measurement.c +++ b/postgis/geography_measurement.c @@ -20,6 +20,7 @@ #include #include "liblwgeom.h" /* For standard geometry types. */ +#include "liblwgeom_internal.h" /* For FP comparators. */ #include "lwgeom_pg.h" /* For debugging macros. */ #include "geography.h" /* For utility functions. */ diff --git a/postgis/lwgeom_rtree.c b/postgis/lwgeom_rtree.c index f2cb3a243..4e5150178 100644 --- a/postgis/lwgeom_rtree.c +++ b/postgis/lwgeom_rtree.c @@ -12,6 +12,7 @@ #include "lwgeom_pg.h" #include "liblwgeom.h" +#include "liblwgeom_internal.h" /* For FP comparators. */ #include "lwgeom_rtree.h"