mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-17 03:49:46 +08:00
b7f5fb36f1
* libc/stdlib/gd_qnan.h (f_QNAN, d_QNAN0, d_QNAN1): Add MIPS versions. (ld_QNAN0, ld_QNAN1, ld_QNAN2, ld_QNAN3): Don't define for MIPS. (ldus_QNAN0, ldus_QNAN1, ldus_QNAN2, ldus_QNAN3, ldus_QNAN4): Likewise. * libc/stdlib/ldtoa.c (nan113, nan64, nan53, nan24): Add MIPS versions. (enan): Handle legacy MIPS payloads. * libm/common/s_nan.c (nan): Use __builtin_nan if supported by the compiler. * libm/common/sf_nan.c (nanf): Likewise.
53 lines
733 B
C
53 lines
733 B
C
/*
|
|
* nan () returns a nan.
|
|
* Added by Cygnus Support.
|
|
*/
|
|
|
|
/*
|
|
FUNCTION
|
|
<<nan>>, <<nanf>>---representation of ``Not a Number''
|
|
|
|
INDEX
|
|
nan
|
|
INDEX
|
|
nanf
|
|
|
|
ANSI_SYNOPSIS
|
|
#include <math.h>
|
|
double nan(const char *);
|
|
float nanf(const char *);
|
|
|
|
TRAD_SYNOPSIS
|
|
#include <math.h>
|
|
double nan();
|
|
float nanf();
|
|
|
|
|
|
DESCRIPTION
|
|
<<nan>> and <<nanf>> return an IEEE NaN (Not a Number) in
|
|
double- and single-precision arithmetic respectively. The
|
|
argument is currently disregarded.
|
|
|
|
QUICKREF
|
|
nan - pure
|
|
|
|
*/
|
|
|
|
#include "fdlibm.h"
|
|
|
|
#ifndef _DOUBLE_IS_32BITS
|
|
|
|
double nan(const char *unused)
|
|
{
|
|
double x;
|
|
|
|
#if __GNUC_PREREQ (3, 3)
|
|
x = __builtin_nan("");
|
|
#else
|
|
INSERT_WORDS(x,0x7ff80000,0);
|
|
#endif
|
|
return x;
|
|
}
|
|
|
|
#endif /* _DOUBLE_IS_32BITS */
|