summaryrefslogtreecommitdiffstats
path: root/newlib/libm/common/sf_isinff.c
diff options
context:
space:
mode:
authorJeff Johnston <jjohnstn@redhat.com>2006-02-27 23:51:28 +0000
committerJeff Johnston <jjohnstn@redhat.com>2006-02-27 23:51:28 +0000
commite48682cff514c0480aff58a3e752edf7eb9ff228 (patch)
tree0e9c096a2b54e60d287d32cec39017b36714871c /newlib/libm/common/sf_isinff.c
parent47a5b664e5095434abe0630008fce5dc9f323130 (diff)
downloadcygnal-e48682cff514c0480aff58a3e752edf7eb9ff228.tar.gz
cygnal-e48682cff514c0480aff58a3e752edf7eb9ff228.tar.bz2
cygnal-e48682cff514c0480aff58a3e752edf7eb9ff228.zip
2006-02-27 Jeff Johnston <jjohnstn@redhat.com>
* Makefile.am (MATHOBJS_IN_LIBC): Add s_isinfd, sf_isinff, s_isnand, and sf_isnanf object files. * Makefile.in: Regenerated. * libc/include/ieeefp.h: Undef isnan and isinf to avoid conflict if <math.h> has previously been included. * libc/include/math.h * libm/common/Makefile.am: Add new s_isinfd, s_isnand, sf_isinff, and sf_isnanf files. Also support s_isnan, sf_isnan, s_isinf, and sf_isinf files which have been moved from math/mathfp directories. * libm/common/Makefile.in: Regenerated. * libm/common/s_isinfd.c: New file. * libm/common/s_isnand.c: Ditto. * libm/common/sf_isinff.c: Ditto. * libm/common/sf_isnanf.c: Ditto. * libm/common/s_isinf.c: Moved from libm/math directory. * libm/common/s_isnan.c: Ditto. * libm/common/sf_isinf.c: Ditto. * libm/common/sf_isnan.c: Ditto. * libm/math/Makefile.am: Remove isinf and isnan family functions which have been moved into common directory. * libm/mathfp/Makefile.am: Ditto. * libm/math/Makefile.in: Regenerated. * libm/mathfp/Makefile.in: Ditto. * libm/math/s_isinf.c: Removed. * libm/math/s_isnan.c: Ditto. * libm/math/sf_isinf.c: Ditto. * libm/math/sf_isnan.c: Ditto. * libm/mathfp/s_isinf.c: Ditto. * libm/mathfp/s_isnan.c: Ditto. * libm/mathfp/sf_isinf.c: Ditto. * libm/mathfp/sf_isnan.c: Ditto.
Diffstat (limited to 'newlib/libm/common/sf_isinff.c')
-rw-r--r--newlib/libm/common/sf_isinff.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/newlib/libm/common/sf_isinff.c b/newlib/libm/common/sf_isinff.c
new file mode 100644
index 000000000..9d0e742e5
--- /dev/null
+++ b/newlib/libm/common/sf_isinff.c
@@ -0,0 +1,27 @@
+/*
+ * __isinff(x) returns 1 if x is +-infinity, else 0;
+ * Added by Cygnus Support.
+ */
+
+#include "fdlibm.h"
+
+int
+_DEFUN (__isinff, (x),
+ float x)
+{
+ __int32_t ix;
+ GET_FLOAT_WORD(ix,x);
+ ix &= 0x7fffffff;
+ return FLT_UWORD_IS_INFINITE(ix);
+}
+
+#ifdef _DOUBLE_IS_32BITS
+
+int
+_DEFUN (__isinfd, (x),
+ double x)
+{
+ return __isinff((float) x);
+}
+
+#endif /* defined(_DOUBLE_IS_32BITS) */