summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2011-10-10 23:35:54 +0200
committerBruno Haible <bruno@clisp.org>2011-10-10 23:35:54 +0200
commita3950b0d4237539d2e163b28b6a2197f92790ba0 (patch)
tree7de1667865209c2ba3e2c0ebe56f59f0dc174985 /lib
parentf11a213a4e8dd404e90d2084a21e2746093747c4 (diff)
downloadgnulib-a3950b0d4237539d2e163b28b6a2197f92790ba0.tar.gz
ldexpl: Simplify for platforms where 'long double' == 'double'.
* lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative implementation. * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE. Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
Diffstat (limited to 'lib')
-rw-r--r--lib/ldexpl.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/ldexpl.c b/lib/ldexpl.c
index 4389f761b2..7fb3a7dd54 100644
--- a/lib/ldexpl.c
+++ b/lib/ldexpl.c
@@ -23,8 +23,18 @@
/* Specification. */
#include <math.h>
-#include <float.h>
-#include "fpucw.h"
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+long double
+ldexpl (long double x, int exp)
+{
+ return ldexp (x, exp);
+}
+
+#else
+
+# include <float.h>
+# include "fpucw.h"
long double
ldexpl (long double x, int exp)
@@ -65,6 +75,8 @@ ldexpl (long double x, int exp)
return x;
}
+#endif
+
#if 0
int
main (void)