From cd84d1c2d06ad0a30f3aebb8ff86727df67ba0da Mon Sep 17 00:00:00 2001 From: Yaakov Selkowitz Date: Mon, 4 Apr 2016 15:49:31 -0500 Subject: [PATCH] math: update isinf/isnan function comments after move to math.h Signed-off-by: Yaakov Selkowitz --- newlib/libc/include/math.h | 2 +- newlib/libm/common/s_isinf.c | 5 ++--- newlib/libm/common/s_isnan.c | 14 ++++++++------ newlib/libm/common/s_isnand.c | 8 ++++---- newlib/libm/common/sf_isinf.c | 5 ++--- newlib/libm/common/sf_isnan.c | 2 +- newlib/libm/machine/spu/sf_isinf.c | 2 +- 7 files changed, 19 insertions(+), 19 deletions(-) diff --git a/newlib/libc/include/math.h b/newlib/libc/include/math.h index 798fc6d87..80a8048ce 100644 --- a/newlib/libc/include/math.h +++ b/newlib/libc/include/math.h @@ -228,7 +228,7 @@ extern int __signbitd (double x); * supporting multiple floating point types. Thus, they are * now defined as macros. Implementations of the old functions * taking double arguments still exist for compatibility purposes - * (prototypes for them are in ). */ + * (prototypes for them are earlier in this header). */ #if __GNUC_PREREQ (4, 4) #define fpclassify(__x) (__builtin_fpclassify (FP_NAN, FP_INFINITE, \ diff --git a/newlib/libm/common/s_isinf.c b/newlib/libm/common/s_isinf.c index db8e8f82b..f22acb7f1 100644 --- a/newlib/libm/common/s_isinf.c +++ b/newlib/libm/common/s_isinf.c @@ -4,9 +4,8 @@ * * isinf is a macro in the C99 standard. It was previously * implemented as a function by newlib and is declared as such in - * . Newlib supplies it here as a function if the user - * chooses to use or needs to link older code compiled with the - * previous declaration. + * . Newlib supplies it here as a function if the user + * chooses to use it instead of the C99 macro. */ #include "fdlibm.h" 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 + #include int isnan(double <[arg]>); int isinf(double <[arg]>); int finite(double <[arg]>); @@ -142,7 +142,7 @@ o- and <> are macros that operate on multiple types of floating-point. The SUSv2 standard declares <> 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 and - * declare it as a function in . + * has chosen to declare it both as a function and as a macro in + * for compatibility. */ #include "fdlibm.h" diff --git a/newlib/libm/common/s_isnand.c b/newlib/libm/common/s_isnand.c index 75538d907..0ac8c5938 100644 --- a/newlib/libm/common/s_isnand.c +++ b/newlib/libm/common/s_isnand.c @@ -28,7 +28,7 @@ INDEX finitef ANSI_SYNOPSIS - #include + #include int isnan(double <[arg]>); int isinf(double <[arg]>); int finite(double <[arg]>); @@ -37,7 +37,7 @@ ANSI_SYNOPSIS int finitef(float <[arg]>); TRAD_SYNOPSIS - #include + #include int isnan(<[arg]>) double <[arg]>; int isinf(<[arg]>) @@ -77,8 +77,8 @@ DESCRIPTION Note that by the C99 standard, <> and <> are macros taking any type of floating-point and are declared in - <>. Newlib has chosen to declare these as macros in - <> and as functions in <>. + <>. Newlib has chosen to declare these both as functions + and as macros in <>. The <>, <> and <> functions perform the same operations as their <>, <> and <> diff --git a/newlib/libm/common/sf_isinf.c b/newlib/libm/common/sf_isinf.c index 6595a681c..5b57a346f 100644 --- a/newlib/libm/common/sf_isinf.c +++ b/newlib/libm/common/sf_isinf.c @@ -3,9 +3,8 @@ * * isinf is a macro in the C99 standard. It was previously * implemented as isinf and isinff functions by newlib and are still declared - * as such in . Newlib supplies it here as a function if the user - * chooses to use or needs to link older code compiled with the - * previous declaration. + * as such in . Newlib supplies it here as a function if the user + * chooses to use it instead of the C99 macro. */ #include "fdlibm.h" diff --git a/newlib/libm/common/sf_isnan.c b/newlib/libm/common/sf_isnan.c index ddda6b331..9c813fc24 100644 --- a/newlib/libm/common/sf_isnan.c +++ b/newlib/libm/common/sf_isnan.c @@ -15,7 +15,7 @@ /* * isnanf(x) returns 1 is x is nan, else 0; * - * isnanf is an extension declared in . + * isnanf is an extension declared in . */ #include "fdlibm.h" diff --git a/newlib/libm/machine/spu/sf_isinf.c b/newlib/libm/machine/spu/sf_isinf.c index 3c5f8d81f..6460ec13d 100644 --- a/newlib/libm/machine/spu/sf_isinf.c +++ b/newlib/libm/machine/spu/sf_isinf.c @@ -34,7 +34,7 @@ /* * On the SPU isinff(x) always returns 0. * - * isinff is an extension declared in . + * isinff is an extension declared in . */ int isinff (float x)