summaryrefslogtreecommitdiff
path: root/lib/math.in.h
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2012-03-11 14:42:17 +0100
committerBruno Haible <bruno@clisp.org>2012-03-11 23:24:44 +0100
commit6d131d20837bfac5a0c48692485debf3b28bfae2 (patch)
treefb085a9a48a9d476c16c67df15f07a5d324204ca /lib/math.in.h
parent58f8ff534c6e026b29c0d2cbba9c0f64c9bc755b (diff)
downloadgnulib-6d131d20837bfac5a0c48692485debf3b28bfae2.tar.gz
New module 'log2'.
* lib/math.in.h (log2): New declaration. * lib/log2.c: New file. * m4/log2.m4: New file. * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared. (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2, REPLACE_LOG2. * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2, REPLACE_LOG2. * modules/log2: New file. * tests/test-math-c++.cc: Check the declaration of log2. * doc/posix-functions/log2.texi: Mention the new module and the IRIX and OSF/1 and Cygwin problems.
Diffstat (limited to 'lib/math.in.h')
-rw-r--r--lib/math.in.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/math.in.h b/lib/math.in.h
index 54e7caa833..d3ff7cf917 100644
--- a/lib/math.in.h
+++ b/lib/math.in.h
@@ -1291,6 +1291,31 @@ _GL_WARN_ON_USE (log1pl, "log1pl has portability problems - "
#endif
+#if @GNULIB_LOG2@
+# if @REPLACE_LOG2@
+# if !(defined __cplusplus && defined GNULIB_NAMESPACE)
+# undef log2
+# define log2 rpl_log2
+# endif
+_GL_FUNCDECL_RPL (log2, double, (double x));
+_GL_CXXALIAS_RPL (log2, double, (double x));
+# else
+# if !@HAVE_DECL_LOG2@
+# undef log2
+_GL_FUNCDECL_SYS (log2, double, (double x));
+# endif
+_GL_CXXALIAS_SYS (log2, double, (double x));
+# endif
+_GL_CXXALIASWARN (log2);
+#elif defined GNULIB_POSIXCHECK
+# undef log2
+# if HAVE_RAW_DECL_LOG2
+_GL_WARN_ON_USE (log2, "log2 is unportable - "
+ "use gnulib module log2 for portability");
+# endif
+#endif
+
+
#if @GNULIB_MODFF@
# if @REPLACE_MODFF@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)