Signed-off-by: Asbjørn Sloth Tønnesen <asbj...@asbjorn.it> --- contrib/earthdistance/earthdistance.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/contrib/earthdistance/earthdistance.c b/contrib/earthdistance/earthdistance.c index 6bbebdf..432309c 100644 --- a/contrib/earthdistance/earthdistance.c +++ b/contrib/earthdistance/earthdistance.c @@ -6,16 +6,18 @@ #include "utils/geo_decls.h" /* for Point */ -#ifndef M_PI -#define M_PI 3.14159265358979323846 +#ifndef M_TAU +#define M_TAU 6.28318530717958647693 #endif +#ifndef M_PI +#define M_PI (M_TAU / 2.0) +#endif PG_MODULE_MAGIC; /* Earth's radius is in statute miles. */ static const double EARTH_RADIUS = 3958.747716; -static const double TWO_PI = 2.0 * M_PI; /****************************************************** @@ -30,7 +32,7 @@ static const double TWO_PI = 2.0 * M_PI; static double degtorad(double degrees) { - return (degrees / 360.0) * TWO_PI; + return (degrees / 360.0) * M_TAU; } /****************************************************** @@ -67,7 +69,7 @@ geo_distance_internal(Point *pt1, Point *pt2) /* compute difference in longitudes - want < 180 degrees */ longdiff = fabs(long1 - long2); if (longdiff > M_PI) - longdiff = TWO_PI - longdiff; + longdiff = M_TAU - longdiff; sino = sqrt(sin(fabs(lat1 - lat2) / 2.) * sin(fabs(lat1 - lat2) / 2.) + cos(lat1) * cos(lat2) * sin(longdiff / 2.) * sin(longdiff / 2.)); -- 2.0.0 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers