summaryrefslogtreecommitdiffstats
path: root/newlib/libm/common/s_isnan.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/common/s_isnan.c')
-rw-r--r--newlib/libm/common/s_isnan.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/newlib/libm/common/s_isnan.c b/newlib/libm/common/s_isnan.c
index 3ce5aa669..64deacd66 100644
--- a/newlib/libm/common/s_isnan.c
+++ b/newlib/libm/common/s_isnan.c
@@ -53,7 +53,7 @@ ANSI_SYNOPSIS
int isnormal(real-floating <[x]>);
[Archaic SUSv2 functions:]
- #include <ieeefp.h>
+ #include <math.h>
int isnan(double <[arg]>);
int isinf(double <[arg]>);
int finite(double <[arg]>);
@@ -142,7 +142,7 @@ o-
and <<isinf>> are macros that operate on multiple types of
floating-point. The SUSv2 standard declares <<isnan>> as
a function taking double. Newlib has decided to declare
- them both as macros in math.h and as functions in ieeefp.h to
+ them both as functions and as macros in math.h to
maintain backward compatibility.
RETURNS
@@ -154,9 +154,11 @@ The isnan macro returns nonzero if <[x]> is an NaN, else 0.@*
The isnormal macro returns nonzero if <[x]> has a normal value, else 0.
PORTABILITY
-math.h macros are C99, POSIX.
+math.h macros are C99, POSIX.1-2001.
-ieeefp.h funtions are outdated and should be avoided.
+The functions originate from BSD; isnan was listed in the X/Open
+Portability Guide and Single Unix Specification, but was dropped when
+the macro was standardized in POSIX.1-2001.
QUICKREF
isnan - pure
@@ -179,8 +181,8 @@ QUICKREF
* The C99 standard dictates that isnan is a macro taking
* multiple floating-point types while the SUSv2 standard
* notes it is a function taking a double argument. Newlib
- * has chosen to implement it as a macro in <math.h> and
- * declare it as a function in <ieeefp.h>.
+ * has chosen to declare it both as a function and as a macro in
+ * <math.h> for compatibility.
*/
#include "fdlibm.h"