summaryrefslogtreecommitdiff
path: root/newlib/libm/common/s_nan.c
diff options
context:
space:
mode:
Diffstat (limited to 'newlib/libm/common/s_nan.c')
-rw-r--r--newlib/libm/common/s_nan.c47
1 files changed, 47 insertions, 0 deletions
diff --git a/newlib/libm/common/s_nan.c b/newlib/libm/common/s_nan.c
new file mode 100644
index 00000000000..f06242647c8
--- /dev/null
+++ b/newlib/libm/common/s_nan.c
@@ -0,0 +1,47 @@
+/*
+ * nan () returns a nan.
+ * Added by Cygnus Support.
+ */
+
+/*
+FUNCTION
+ <<nan>>, <<nanf>>---representation of infinity
+
+INDEX
+ nan
+INDEX
+ nanf
+
+ANSI_SYNOPSIS
+ #include <math.h>
+ double nan(void);
+ float nanf(void);
+
+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 respectivly.
+
+QUICKREF
+ nan - pure
+
+*/
+
+#include "fdlibm.h"
+
+#ifndef _DOUBLE_IS_32BITS
+
+ double nan()
+{
+ double x;
+
+ INSERT_WORDS(x,0x7ff80000,0);
+ return x;
+}
+
+#endif /* _DOUBLE_IS_32BITS */