changeset 12750:6b4859a7c820

New modules for common <math.h> functions.
author Bruno Haible <bruno@clisp.org>
date Tue, 19 Jan 2010 01:40:52 +0100
parents 0e0affb6a85d
children 78eebabdbcd9
files ChangeLog doc/posix-functions/acos.texi doc/posix-functions/asin.texi doc/posix-functions/atan.texi doc/posix-functions/atan2.texi doc/posix-functions/cbrt.texi doc/posix-functions/copysign.texi doc/posix-functions/cos.texi doc/posix-functions/cosh.texi doc/posix-functions/erf.texi doc/posix-functions/erfc.texi doc/posix-functions/exp.texi doc/posix-functions/fabs.texi doc/posix-functions/fmod.texi doc/posix-functions/hypot.texi doc/posix-functions/j0.texi doc/posix-functions/j1.texi doc/posix-functions/jn.texi doc/posix-functions/ldexp.texi doc/posix-functions/lgamma.texi doc/posix-functions/log.texi doc/posix-functions/log10.texi doc/posix-functions/log1p.texi doc/posix-functions/logb.texi doc/posix-functions/modf.texi doc/posix-functions/nextafter.texi doc/posix-functions/pow.texi doc/posix-functions/remainder.texi doc/posix-functions/rint.texi doc/posix-functions/sin.texi doc/posix-functions/sinh.texi doc/posix-functions/sqrt.texi doc/posix-functions/tan.texi doc/posix-functions/tanh.texi doc/posix-functions/y0.texi doc/posix-functions/y1.texi doc/posix-functions/yn.texi m4/mathfunc.m4 modules/acos modules/asin modules/atan modules/atan2 modules/cbrt modules/copysign modules/cos modules/cosh modules/erf modules/erfc modules/exp modules/fabs modules/fmod modules/hypot modules/j0 modules/j1 modules/jn modules/ldexp modules/lgamma modules/log modules/log10 modules/log1p modules/logb modules/modf modules/nextafter modules/pow modules/remainder modules/rint modules/sin modules/sinh modules/sqrt modules/tan modules/tanh modules/y0 modules/y1 modules/yn
diffstat 74 files changed, 1030 insertions(+), 36 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,80 @@
+2010-01-18  Bruno Haible  <bruno@clisp.org>
+
+	New modules for common <math.h> functions.
+	* m4/mathfunc.m4: New file.
+	* modules/acos: New file.
+	* modules/asin: New file.
+	* modules/atan: New file.
+	* modules/atan2: New file.
+	* modules/cbrt: New file.
+	* modules/copysign: New file.
+	* modules/cos: New file.
+	* modules/cosh: New file.
+	* modules/erf: New file.
+	* modules/erfc: New file.
+	* modules/exp: New file.
+	* modules/fabs: New file.
+	* modules/fmod: New file.
+	* modules/hypot: New file.
+	* modules/j0: New file.
+	* modules/j1: New file.
+	* modules/jn: New file.
+	* modules/ldexp: New file.
+	* modules/lgamma: New file.
+	* modules/log: New file.
+	* modules/log10: New file.
+	* modules/log1p: New file.
+	* modules/logb: New file.
+	* modules/modf: New file.
+	* modules/nextafter: New file.
+	* modules/pow: New file.
+	* modules/remainder: New file.
+	* modules/rint: New file.
+	* modules/sin: New file.
+	* modules/sinh: New file.
+	* modules/sqrt: New file.
+	* modules/tan: New file.
+	* modules/tanh: New file.
+	* modules/y0: New file.
+	* modules/y1: New file.
+	* modules/yn: New file.
+	* doc/posix-functions/acos.texi: Mention the 'acos' module.
+	* doc/posix-functions/asin.texi: Mention the 'asin' module.
+	* doc/posix-functions/atan.texi: Mention the 'atan' module.
+	* doc/posix-functions/atan2.texi: Mention the 'atan2' module.
+	* doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
+	* doc/posix-functions/copysign.texi: Mention the 'copysign' module.
+	* doc/posix-functions/cos.texi: Mention the 'cos' module.
+	* doc/posix-functions/cosh.texi: Mention the 'cosh' module.
+	* doc/posix-functions/erf.texi: Mention the 'erf' module.
+	* doc/posix-functions/erfc.texi: Mention the 'erfc' module.
+	* doc/posix-functions/exp.texi: Mention the 'exp' module.
+	* doc/posix-functions/fabs.texi: Mention the 'fabs' module.
+	* doc/posix-functions/fmod.texi: Mention the 'fmod' module.
+	* doc/posix-functions/hypot.texi: Mention the 'hypot' module.
+	* doc/posix-functions/j0.texi: Mention the 'j0' module.
+	* doc/posix-functions/j1.texi: Mention the 'j1' module.
+	* doc/posix-functions/jn.texi: Mention the 'jn' module.
+	* doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
+	* doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
+	* doc/posix-functions/log.texi: Mention the 'log' module.
+	* doc/posix-functions/log10.texi: Mention the 'log10' module.
+	* doc/posix-functions/log1p.texi: Mention the 'log1p' module.
+	* doc/posix-functions/logb.texi: Mention the 'logb' module.
+	* doc/posix-functions/modf.texi: Mention the 'modf' module.
+	* doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
+	* doc/posix-functions/pow.texi: Mention the 'pow' module.
+	* doc/posix-functions/remainder.texi: Mention the 'remainder' module.
+	* doc/posix-functions/rint.texi: Mention the 'rint' module.
+	* doc/posix-functions/sin.texi: Mention the 'sin' module.
+	* doc/posix-functions/sinh.texi: Mention the 'sinh' module.
+	* doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
+	* doc/posix-functions/tan.texi: Mention the 'tan' module.
+	* doc/posix-functions/tanh.texi: Mention the 'tanh' module.
+	* doc/posix-functions/y0.texi: Mention the 'y0' module.
+	* doc/posix-functions/y1.texi: Mention the 'y1' module.
+	* doc/posix-functions/yn.texi: Mention the 'yn' module.
+
 2010-01-18  Jim Meyering  <meyering@redhat.com>
 
 	ignore-value: relax license to LGPLv2+
--- a/doc/posix-functions/acos.texi
+++ b/doc/posix-functions/acos.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/acos.html}
 
-Gnulib module: ---
+Gnulib module: acos
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/asin.texi
+++ b/doc/posix-functions/asin.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/asin.html}
 
-Gnulib module: ---
+Gnulib module: asin
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/atan.texi
+++ b/doc/posix-functions/atan.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/atan.html}
 
-Gnulib module: ---
+Gnulib module: atan
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/atan2.texi
+++ b/doc/posix-functions/atan2.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/atan2.html}
 
-Gnulib module: ---
+Gnulib module: atan2
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/cbrt.texi
+++ b/doc/posix-functions/cbrt.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/cbrt.html}
 
-Gnulib module: ---
+Gnulib module: cbrt
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/copysign.texi
+++ b/doc/posix-functions/copysign.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/copysign.html}
 
-Gnulib module: ---
+Gnulib module: copysign
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/cos.texi
+++ b/doc/posix-functions/cos.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/cos.html}
 
-Gnulib module: ---
+Gnulib module: cos
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/cosh.texi
+++ b/doc/posix-functions/cosh.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/cosh.html}
 
-Gnulib module: ---
+Gnulib module: cosh
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/erf.texi
+++ b/doc/posix-functions/erf.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/erf.html}
 
-Gnulib module: ---
+Gnulib module: erf
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/erfc.texi
+++ b/doc/posix-functions/erfc.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/erfc.html}
 
-Gnulib module: ---
+Gnulib module: erfc
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/exp.texi
+++ b/doc/posix-functions/exp.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/exp.html}
 
-Gnulib module: ---
+Gnulib module: exp
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/fabs.texi
+++ b/doc/posix-functions/fabs.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fabs.html}
 
-Gnulib module: ---
+Gnulib module: fabs
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/fmod.texi
+++ b/doc/posix-functions/fmod.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/fmod.html}
 
-Gnulib module: ---
+Gnulib module: fmod
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/hypot.texi
+++ b/doc/posix-functions/hypot.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/hypot.html}
 
-Gnulib module: ---
+Gnulib module: hypot
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/j0.texi
+++ b/doc/posix-functions/j0.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/j0.html}
 
-Gnulib module: ---
+Gnulib module: j0
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/j1.texi
+++ b/doc/posix-functions/j1.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/j1.html}
 
-Gnulib module: ---
+Gnulib module: j1
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/jn.texi
+++ b/doc/posix-functions/jn.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/jn.html}
 
-Gnulib module: ---
+Gnulib module: jn
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/ldexp.texi
+++ b/doc/posix-functions/ldexp.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/ldexp.html}
 
-Gnulib module: ---
+Gnulib module: ldexp
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/lgamma.texi
+++ b/doc/posix-functions/lgamma.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/lgamma.html}
 
-Gnulib module: ---
+Gnulib module: lgamma
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/log.texi
+++ b/doc/posix-functions/log.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/log.html}
 
-Gnulib module: ---
+Gnulib module: log
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/log10.texi
+++ b/doc/posix-functions/log10.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/log10.html}
 
-Gnulib module: ---
+Gnulib module: log10
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/log1p.texi
+++ b/doc/posix-functions/log1p.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/log1p.html}
 
-Gnulib module: ---
+Gnulib module: log1p
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/logb.texi
+++ b/doc/posix-functions/logb.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/logb.html}
 
-Gnulib module: ---
+Gnulib module: logb
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/modf.texi
+++ b/doc/posix-functions/modf.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/modf.html}
 
-Gnulib module: ---
+Gnulib module: modf
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/nextafter.texi
+++ b/doc/posix-functions/nextafter.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/nextafter.html}
 
-Gnulib module: ---
+Gnulib module: nextafter
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/pow.texi
+++ b/doc/posix-functions/pow.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/pow.html}
 
-Gnulib module: ---
+Gnulib module: pow
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/remainder.texi
+++ b/doc/posix-functions/remainder.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/remainder.html}
 
-Gnulib module: ---
+Gnulib module: remainder
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/rint.texi
+++ b/doc/posix-functions/rint.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/rint.html}
 
-Gnulib module: ---
+Gnulib module: rint
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/sin.texi
+++ b/doc/posix-functions/sin.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sin.html}
 
-Gnulib module: ---
+Gnulib module: sin
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/sinh.texi
+++ b/doc/posix-functions/sinh.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sinh.html}
 
-Gnulib module: ---
+Gnulib module: sinh
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/sqrt.texi
+++ b/doc/posix-functions/sqrt.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/sqrt.html}
 
-Gnulib module: ---
+Gnulib module: sqrt
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/tan.texi
+++ b/doc/posix-functions/tan.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/tan.html}
 
-Gnulib module: ---
+Gnulib module: tan
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/tanh.texi
+++ b/doc/posix-functions/tanh.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/tanh.html}
 
-Gnulib module: ---
+Gnulib module: tanh
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/y0.texi
+++ b/doc/posix-functions/y0.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/y0.html}
 
-Gnulib module: ---
+Gnulib module: y0
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/y1.texi
+++ b/doc/posix-functions/y1.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/y1.html}
 
-Gnulib module: ---
+Gnulib module: y1
 
 Portability problems fixed by Gnulib:
 @itemize
--- a/doc/posix-functions/yn.texi
+++ b/doc/posix-functions/yn.texi
@@ -4,7 +4,7 @@
 
 POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/yn.html}
 
-Gnulib module: ---
+Gnulib module: yn
 
 Portability problems fixed by Gnulib:
 @itemize
new file mode 100644
--- /dev/null
+++ b/m4/mathfunc.m4
@@ -0,0 +1,53 @@
+# mathfunc.m4 serial 1
+dnl Copyright (C) 2010 Free Software Foundation, Inc.
+dnl This file is free software; the Free Software Foundation
+dnl gives unlimited permission to copy and/or distribute it,
+dnl with or without modifications, as long as this notice is preserved.
+
+# gl_MATHFUNC([sqrt])
+# tests whether the sqrt function is available in libc or libm. It sets
+# SQRT_LIBM to empty or "-lm" accordingly.
+
+AC_DEFUN([gl_MATHFUNC],
+[
+  m4_pushdef([func], [$1])
+  m4_pushdef([FUNC], [translit([$1],[abcdefghijklmnopqrstuvwxyz],
+                                    [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
+  FUNC[]_LIBM=
+  AC_CACHE_CHECK([whether func() can be used without linking with libm],
+    [gl_cv_func_]func[_no_libm],
+    [
+      AC_LINK_IFELSE(
+        [AC_LANG_PROGRAM([[#ifndef __NO_MATH_INLINES
+                           # define __NO_MATH_INLINES 1 /* for glibc */
+                           #endif
+                           #include <math.h>
+                           double x;]],
+                         [[return ]func[ (x) > 2 || ]func[ (x) < 0.4;]])],
+        [gl_cv_func_]func[_no_libm=yes],
+        [gl_cv_func_]func[_no_libm=no])
+    ])
+  if test $gl_cv_func_[]func[]_no_libm = no; then
+    AC_CACHE_CHECK([whether func() can be used with libm],
+      [gl_cv_func_]func[_in_libm],
+      [
+        save_LIBS="$LIBS"
+        LIBS="$LIBS -lm"
+        AC_LINK_IFELSE(
+          [AC_LANG_PROGRAM([[#ifndef __NO_MATH_INLINES
+                             # define __NO_MATH_INLINES 1 /* for glibc */
+                             #endif
+                             #include <math.h>
+                             double x;]],
+                           [[return ]func[ (x) > 2 || ]func[ (x) < 0.4;]])],
+          [gl_cv_func_]func[_in_libm=yes],
+          [gl_cv_func_]func[_in_libm=no])
+        LIBS="$save_LIBS"
+      ])
+    if test $gl_cv_func_[]func[]_in_libm = yes; then
+      FUNC[]_LIBM=-lm
+    fi
+  fi
+  m4_popdef([FUNC])
+  m4_popdef([func])
+])
new file mode 100644
--- /dev/null
+++ b/modules/acos
@@ -0,0 +1,24 @@
+Description:
+acos() function: inverse cosine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([acos])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ACOS_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/asin
@@ -0,0 +1,24 @@
+Description:
+asin() function: inverse sine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([asin])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ASIN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/atan
@@ -0,0 +1,24 @@
+Description:
+atan() function: inverse tangent function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([atan])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ATAN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/atan2
@@ -0,0 +1,24 @@
+Description:
+atan2() function: angle of a point in the plane.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([atan2])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ATAN2_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/cbrt
@@ -0,0 +1,24 @@
+Description:
+cbrt() function: cube root.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([cbrt])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(CBRT_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/copysign
@@ -0,0 +1,24 @@
+Description:
+copysign() function: copy sign.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([copysign])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(COPYSIGN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/cos
@@ -0,0 +1,24 @@
+Description:
+cos() function: cosine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([cos])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(COS_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/cosh
@@ -0,0 +1,24 @@
+Description:
+cosh() function: hyperbolic cosine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([cosh])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(COSH_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/erf
@@ -0,0 +1,24 @@
+Description:
+erf() function: error function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([erf])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ERF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/erfc
@@ -0,0 +1,24 @@
+Description:
+erfc() function: complementary error function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([erfc])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(ERFC_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/exp
@@ -0,0 +1,24 @@
+Description:
+exp() function: exponential function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([exp])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(EXP_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/fabs
@@ -0,0 +1,24 @@
+Description:
+fabs() function: absolute value.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([fabs])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(FABS_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/fmod
@@ -0,0 +1,24 @@
+Description:
+fmod() function: floating-point remainder function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([fmod])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(FMOD_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/hypot
@@ -0,0 +1,24 @@
+Description:
+hypot() function: length of a vector in the plane.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([hypot])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(HYPOT_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/j0
@@ -0,0 +1,24 @@
+Description:
+j0() function: Bessel function of the first kind of order 0.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([j0])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(J0_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/j1
@@ -0,0 +1,24 @@
+Description:
+j1() function: Bessel function of the first kind of order 1.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([j1])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(J1_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/jn
@@ -0,0 +1,24 @@
+Description:
+jn() function: Bessel function of the first kind of order n.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([jn])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(JN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/ldexp
@@ -0,0 +1,24 @@
+Description:
+ldexp() function: multiply a 'double' by a power of 2.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([ldexp])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LDEXP_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/lgamma
@@ -0,0 +1,24 @@
+Description:
+lgamma() function: log of gamma function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([lgamma])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LGAMMA_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/log
@@ -0,0 +1,24 @@
+Description:
+log() function: natural logarithmic function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([log])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LOG_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/log10
@@ -0,0 +1,24 @@
+Description:
+log10() function: base 10 logarithmic function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([log10])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LOG10_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/log1p
@@ -0,0 +1,24 @@
+Description:
+log1p() function: natural logarithm of 1 plus argument.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([log1p])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LOG1P_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/logb
@@ -0,0 +1,24 @@
+Description:
+logb() function: get exponent.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([logb])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(LOGB_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/modf
@@ -0,0 +1,24 @@
+Description:
+modf() function: get signed integer and fractional parts.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([modf])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(MODF_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/nextafter
@@ -0,0 +1,24 @@
+Description:
+nextafter() function: next representable 'double' number.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([nextafter])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(NEXTAFTER_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/pow
@@ -0,0 +1,24 @@
+Description:
+pow() function: power function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([pow])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(POW_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/remainder
@@ -0,0 +1,24 @@
+Description:
+remainder() function: floating-point remainder function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([remainder])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(REMAINDER_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/rint
@@ -0,0 +1,24 @@
+Description:
+rint() function: round to nearest integer.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([rint])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(RINT_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/sin
@@ -0,0 +1,24 @@
+Description:
+sin() function: sine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([sin])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(SIN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/sinh
@@ -0,0 +1,24 @@
+Description:
+sinh() function: hyperbolic sine function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([sinh])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(SINH_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/sqrt
@@ -0,0 +1,24 @@
+Description:
+sqrt() function: square root.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([sqrt])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(SQRT_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/tan
@@ -0,0 +1,24 @@
+Description:
+tan() function: tangent function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([tan])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(TAN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/tanh
@@ -0,0 +1,24 @@
+Description:
+tanh() function: hyperbolic tangent function.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([tanh])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(TANH_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/y0
@@ -0,0 +1,24 @@
+Description:
+y0() function: Bessel function of the second kind of order 0.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([y0])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(Y0_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/y1
@@ -0,0 +1,24 @@
+Description:
+y1() function: Bessel function of the second kind of order 1.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([y1])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(Y1_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible
new file mode 100644
--- /dev/null
+++ b/modules/yn
@@ -0,0 +1,24 @@
+Description:
+yn() function: Bessel function of the second kind of order n.
+
+Files:
+m4/mathfunc.m4
+
+Depends-on:
+
+configure.ac:
+gl_MATHFUNC([yn])
+
+Makefile.am:
+
+Include:
+<math.h>
+
+Link:
+$(YN_LIBM)
+
+License:
+LGPL
+
+Maintainer:
+Bruno Haible