Browse Source

Patch from Axel Barnitzke <barney@xkontor.com> to fix handling
of the isinf() macro, which was a casulty of my grafting the
glibc header onto out math library.

Eric Andersen 23 years ago
parent
commit
95e97072d9
1 changed files with 24 additions and 0 deletions
  1. 24 0
      libm/fpmacros.c

+ 24 - 0
libm/fpmacros.c

@@ -165,6 +165,30 @@ long int __isfinite ( double x )
 }
 
 
+/***********************************************************************
+* long int __isinff(float x) returns -1 if value represents  negative
+*	infinity,  1  if value represents positive infinity,
+*	and 0 otherwise.
+*
+* Calls:  __signbit
+* +***********************************************************************/
+long int __isinff ( float x )
+{
+    long int class = __fpclassifyf(x);
+    if ( class == FP_INFINITE ) {
+	return ( (__signbitf(x)) ? -1 : 1);
+    }
+    return 0;
+}
+
+long int __isinf ( double x )
+{
+    long int class = __fpclassify(x);
+    if ( class == FP_INFINITE ) {
+	return ( (__signbit(x)) ? -1 : 1);
+    }
+    return 0;
+}
 
 /***********************************************************************
    long int __isnanf(float x) returns nonzero if and only if x is a