From 95e97072d9a261979d97bff9d82f4307c7e4e050 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Wed, 17 Apr 2002 12:56:57 +0000 Subject: Patch from Axel Barnitzke to fix handling of the isinf() macro, which was a casulty of my grafting the glibc header onto out math library. --- libm/fpmacros.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'libm') diff --git a/libm/fpmacros.c b/libm/fpmacros.c index 6c5abbe87..a9f63df4b 100644 --- a/libm/fpmacros.c +++ b/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 -- cgit v1.2.3