summaryrefslogtreecommitdiff
path: root/lib/roundl.c
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2011-10-10 01:07:15 +0200
committerBruno Haible <bruno@clisp.org>2011-10-10 01:07:15 +0200
commita25368f150046137109aa8cf58cb85dc6bc234b5 (patch)
treecf3ec92bb311aadec2a61310e70a04855ab52136 /lib/roundl.c
parent3d57d93ced65ddec292e320e35fb648dff34cd83 (diff)
downloadgnulib-a25368f150046137109aa8cf58cb85dc6bc234b5.tar.gz
roundl: Simplify for platforms where 'long double' == 'double'.
* lib/roundl.c: Include <config.h>. (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function. * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second time. * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE. Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE. * modules/roundl (Depends-on): Add round. Update conditions.
Diffstat (limited to 'lib/roundl.c')
-rw-r--r--lib/roundl.c21
1 files changed, 19 insertions, 2 deletions
diff --git a/lib/roundl.c b/lib/roundl.c
index 28f3f6f5c8..9cf81db4c1 100644
--- a/lib/roundl.c
+++ b/lib/roundl.c
@@ -15,5 +15,22 @@
with this program; if not, write to the Free Software Foundation,
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
-#define USE_LONG_DOUBLE
-#include "round.c"
+#include <config.h>
+
+#if HAVE_SAME_LONG_DOUBLE_AS_DOUBLE
+
+/* Specification. */
+# include <math.h>
+
+long double
+roundl (long double x)
+{
+ return round (x);
+}
+
+#else
+
+# define USE_LONG_DOUBLE
+# include "round.c"
+
+#endif