Copyright (C) 2002-2003, 2007 Free Software Foundation, Inc.
- This program is free software; you can redistribute it and/or modify
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef _GL_MATH_H
If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
If x is zero: mantissa = x, exp = 0.
If x is infinite or NaN: mantissa = x, exp unspecified.
- Store exp and return mantissa. */
+ Store exp in *EXPPTR and return mantissa. */
#if @GNULIB_FREXP@
# if @REPLACE_FREXP@
# define frexp rpl_frexp
-extern double frexp (double x, int *exp);
+extern double frexp (double x, int *expptr);
# endif
#elif defined GNULIB_POSIXCHECK
# undef frexp
#endif
-#if @GNULIB_MATHL@ || !@HAVE_DECL_CEILL@
-extern long double ceill (long double x);
+#if @GNULIB_CEILF@
+# if !@HAVE_DECL_CEILF@
+# define ceilf rpl_ceilf
+extern float ceilf (float x);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef ceilf
+# define ceilf(x) \
+ (GL_LINK_WARNING ("ceilf is unportable - " \
+ "use gnulib module ceilf for portability"), \
+ ceilf (x))
#endif
-#if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK
+
+#if @GNULIB_CEILL@
+# if !@HAVE_DECL_CEILL@
+# define ceill rpl_ceill
+extern long double ceill (long double x);
+# endif
+#elif defined GNULIB_POSIXCHECK
# undef ceill
# define ceill(x) \
(GL_LINK_WARNING ("ceill is unportable - " \
- "use gnulib module mathl for portability"), \
+ "use gnulib module ceill for portability"), \
ceill (x))
#endif
#endif
-#if @GNULIB_MATHL@ || !@HAVE_DECL_FLOORL@
-extern long double floorl (long double x);
+#if @GNULIB_FLOORF@
+# if !@HAVE_DECL_FLOORF@
+# define floorf rpl_floorf
+extern float floorf (float x);
+# endif
+#elif defined GNULIB_POSIXCHECK
+# undef floorf
+# define floorf(x) \
+ (GL_LINK_WARNING ("floorf is unportable - " \
+ "use gnulib module floorf for portability"), \
+ floorf (x))
#endif
-#if !@GNULIB_MATHL@ && defined GNULIB_POSIXCHECK
+
+#if @GNULIB_FLOORL@
+# if !@HAVE_DECL_FLOORL@
+# define floorl rpl_floorl
+extern long double floorl (long double x);
+# endif
+#elif defined GNULIB_POSIXCHECK
# undef floorl
# define floorl(x) \
(GL_LINK_WARNING ("floorl is unportable - " \
- "use gnulib module mathl for portability"), \
+ "use gnulib module floorl for portability"), \
floorl (x))
#endif
If x finite and nonzero: 0.5 <= |mantissa| < 1.0.
If x is zero: mantissa = x, exp = 0.
If x is infinite or NaN: mantissa = x, exp unspecified.
- Store exp and return mantissa. */
+ Store exp in *EXPPTR and return mantissa. */
#if @GNULIB_FREXPL@ && @REPLACE_FREXPL@
# define frexpl rpl_frexpl
#endif
#if (@GNULIB_FREXPL@ && @REPLACE_FREXPL@) || !@HAVE_DECL_FREXPL@
-extern long double frexpl (long double x, int *exp);
+extern long double frexpl (long double x, int *expptr);
#endif
#if !@GNULIB_FREXPL@ && defined GNULIB_POSIXCHECK
# undef frexpl