diff --git a/src/include/missing_math.h b/src/include/missing_math.h index fb7009ba8..083f0ca1e 100644 --- a/src/include/missing_math.h +++ b/src/include/missing_math.h @@ -8,7 +8,7 @@ Copyright 1999 Emmanuel Rouat #ifndef MISSING_MATH_H_INCLUDED #define MISSING_MATH_H_INCLUDED -bool AlmostEqualUlps(float, float, int); +bool AlmostEqualUlps(double, double, long int); #ifndef HAVE_ERFC extern double erfc(double); diff --git a/src/misc/missing_math.c b/src/misc/missing_math.c index 2566f8695..f3e2009c5 100644 --- a/src/misc/missing_math.c +++ b/src/misc/missing_math.c @@ -13,15 +13,15 @@ $Id$ /* Initial AlmostEqualULPs version - fast and simple, but */ /* some limitations. */ -bool AlmostEqualUlps(float A, float B, int maxUlps) +bool AlmostEqualUlps(double A, double B, long int maxUlps) { - int intDiff; - assert(sizeof(float) == sizeof(int)); + long int intDiff; + assert(sizeof(double) == sizeof(long int)); if (A == B) return TRUE; - intDiff = abs(*(int*)&A - *(int*)&B); + intDiff = abs(*(long int*)&A - *(long int*)&B); if (intDiff <= maxUlps) return TRUE; diff --git a/src/misc/missing_math.h b/src/misc/missing_math.h index 6b479d37b..51dae70a9 100644 --- a/src/misc/missing_math.h +++ b/src/misc/missing_math.h @@ -6,7 +6,7 @@ #ifndef MISSING_MATH_H_INCLUDED #define MISSING_MATH_H_INCLUDED -bool AlmostEqualUlps(float, float, int); +bool AlmostEqualUlps(double, double, long int); #ifndef HAVE_ERFC double erfc(double);