Mercurial > hg > octave-kai > gnulib-hg
annotate m4/math_h.m4 @ 10667:678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sun, 19 Oct 2008 14:05:30 +0200 |
parents | 7a5cfea8469f |
children | e8d2c6fc33ad |
rev | line source |
---|---|
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
1 # math_h.m4 serial 14 |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
2 dnl Copyright (C) 2007-2008 Free Software Foundation, Inc. |
8186
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
3 dnl This file is free software; the Free Software Foundation |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
4 dnl gives unlimited permission to copy and/or distribute it, |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
5 dnl with or without modifications, as long as this notice is preserved. |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
6 |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
7 AC_DEFUN([gl_MATH_H], |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
8 [ |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
9 AC_REQUIRE([gl_MATH_H_DEFAULTS]) |
8995
1025663f7658
* m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
Paul Eggert <eggert@cs.ucla.edu>
parents:
8652
diff
changeset
|
10 gl_CHECK_NEXT_HEADERS([math.h]) |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
11 AC_CACHE_CHECK([whether NAN macro works], [gl_cv_header_math_nan_works], |
9921
01cfd65cc7e0
Fix underquoting of AC_LANG_PROGRAM arguments.
Bruno Haible <bruno@clisp.org>
parents:
9913
diff
changeset
|
12 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
13 [[/* Solaris 10 has a broken definition of NAN. Other platforms |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
14 fail to provide NAN, or provide it only in C99 mode; this |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
15 test only needs to fail when NAN is provided but wrong. */ |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
16 float f = 1.0f; |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
17 #ifdef NAN |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
18 f = NAN; |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
19 #endif |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
20 return f == 0;]])], |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
21 [gl_cv_header_math_nan_works=yes], |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
22 [gl_cv_header_math_nan_works=no])]) |
9900
5f47b9c9cc45
* m4/math_h.m4 (gl_MATH_H): Fix typos.
Jim Meyering <meyering@redhat.com>
parents:
9898
diff
changeset
|
23 if test $gl_cv_header_math_nan_works = no; then |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
24 REPLACE_NAN=1 |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
25 fi |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
26 AC_CACHE_CHECK([whether HUGE_VAL works], [gl_cv_header_math_huge_val_works], |
9921
01cfd65cc7e0
Fix underquoting of AC_LANG_PROGRAM arguments.
Bruno Haible <bruno@clisp.org>
parents:
9913
diff
changeset
|
27 [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include <math.h>]], |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
28 [[/* Solaris 10 has a broken definition of HUGE_VAL. */ |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
29 double d = HUGE_VAL; |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
30 return d == 0;]])], |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
31 [gl_cv_header_math_huge_val_works=yes], |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
32 [gl_cv_header_math_huge_val_works=no])]) |
9900
5f47b9c9cc45
* m4/math_h.m4 (gl_MATH_H): Fix typos.
Jim Meyering <meyering@redhat.com>
parents:
9898
diff
changeset
|
33 if test $gl_cv_header_math_huge_val_works = no; then |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
34 REPLACE_HUGE_VAL=1 |
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
35 fi |
8186
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
36 ]) |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
37 |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
38 AC_DEFUN([gl_MATH_MODULE_INDICATOR], |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
39 [ |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
40 dnl Use AC_REQUIRE here, so that the default settings are expanded once only. |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
41 AC_REQUIRE([gl_MATH_H_DEFAULTS]) |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
42 GNULIB_[]m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./-],[ABCDEFGHIJKLMNOPQRSTUVWXYZ___])=1 |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
43 ]) |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
44 |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
45 AC_DEFUN([gl_MATH_H_DEFAULTS], |
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
46 [ |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
47 GNULIB_CEILF=0; AC_SUBST([GNULIB_CEILF]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
48 GNULIB_CEILL=0; AC_SUBST([GNULIB_CEILL]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
49 GNULIB_FLOORF=0; AC_SUBST([GNULIB_FLOORF]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
50 GNULIB_FLOORL=0; AC_SUBST([GNULIB_FLOORL]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
51 GNULIB_FREXP=0; AC_SUBST([GNULIB_FREXP]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
52 GNULIB_FREXPL=0; AC_SUBST([GNULIB_FREXPL]) |
9423
fa47aa8bb105
Use REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
Bruno Haible <bruno@clisp.org>
parents:
9420
diff
changeset
|
53 GNULIB_ISFINITE=0; AC_SUBST([GNULIB_ISFINITE]) |
10287 | 54 GNULIB_ISINF=0; AC_SUBST([GNULIB_ISINF]) |
10267 | 55 GNULIB_ISNAN=0; AC_SUBST([GNULIB_ISNAN]) |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
56 GNULIB_ISNANF=0; AC_SUBST([GNULIB_ISNANF]) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
57 GNULIB_ISNAND=0; AC_SUBST([GNULIB_ISNAND]) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
58 GNULIB_ISNANL=0; AC_SUBST([GNULIB_ISNANL]) |
9420
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
59 GNULIB_LDEXPL=0; AC_SUBST([GNULIB_LDEXPL]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
60 GNULIB_MATHL=0; AC_SUBST([GNULIB_MATHL]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
61 GNULIB_ROUND=0; AC_SUBST([GNULIB_ROUND]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
62 GNULIB_ROUNDF=0; AC_SUBST([GNULIB_ROUNDF]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
63 GNULIB_ROUNDL=0; AC_SUBST([GNULIB_ROUNDL]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
64 GNULIB_SIGNBIT=0; AC_SUBST([GNULIB_SIGNBIT]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
65 GNULIB_TRUNC=0; AC_SUBST([GNULIB_TRUNC]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
66 GNULIB_TRUNCF=0; AC_SUBST([GNULIB_TRUNCF]) |
9e0484f26251
Fix link errors with Sun C 5.0 on Solaris 10.
Bruno Haible <bruno@clisp.org>
parents:
9414
diff
changeset
|
67 GNULIB_TRUNCL=0; AC_SUBST([GNULIB_TRUNCL]) |
8359
d8d194025f40
Provide the option to declare the mathl functions also when the 'mathl'
Bruno Haible <bruno@clisp.org>
parents:
8186
diff
changeset
|
68 dnl Assume proper GNU behavior unless another module says otherwise. |
10667
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
69 HAVE_ISNANF=1; AC_SUBST([HAVE_ISNANF]) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
70 HAVE_ISNAND=1; AC_SUBST([HAVE_ISNAND]) |
678640901735
Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
Bruno Haible <bruno@clisp.org>
parents:
10287
diff
changeset
|
71 HAVE_ISNANL=1; AC_SUBST([HAVE_ISNANL]) |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
72 HAVE_DECL_ACOSL=1; AC_SUBST([HAVE_DECL_ACOSL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
73 HAVE_DECL_ASINL=1; AC_SUBST([HAVE_DECL_ASINL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
74 HAVE_DECL_ATANL=1; AC_SUBST([HAVE_DECL_ATANL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
75 HAVE_DECL_COSL=1; AC_SUBST([HAVE_DECL_COSL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
76 HAVE_DECL_EXPL=1; AC_SUBST([HAVE_DECL_EXPL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
77 HAVE_DECL_FREXPL=1; AC_SUBST([HAVE_DECL_FREXPL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
78 HAVE_DECL_LDEXPL=1; AC_SUBST([HAVE_DECL_LDEXPL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
79 HAVE_DECL_LOGL=1; AC_SUBST([HAVE_DECL_LOGL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
80 HAVE_DECL_SINL=1; AC_SUBST([HAVE_DECL_SINL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
81 HAVE_DECL_SQRTL=1; AC_SUBST([HAVE_DECL_SQRTL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
82 HAVE_DECL_TANL=1; AC_SUBST([HAVE_DECL_TANL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
83 HAVE_DECL_TRUNC=1; AC_SUBST([HAVE_DECL_TRUNC]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
84 HAVE_DECL_TRUNCF=1; AC_SUBST([HAVE_DECL_TRUNCF]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
85 REPLACE_CEILF=0; AC_SUBST([REPLACE_CEILF]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
86 REPLACE_CEILL=0; AC_SUBST([REPLACE_CEILL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
87 REPLACE_FLOORF=0; AC_SUBST([REPLACE_FLOORF]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
88 REPLACE_FLOORL=0; AC_SUBST([REPLACE_FLOORL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
89 REPLACE_FREXP=0; AC_SUBST([REPLACE_FREXP]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
90 REPLACE_FREXPL=0; AC_SUBST([REPLACE_FREXPL]) |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
91 REPLACE_HUGE_VAL=0; AC_SUBST([REPLACE_HUGE_VAL]) |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
92 REPLACE_ISFINITE=0; AC_SUBST([REPLACE_ISFINITE]) |
10287 | 93 REPLACE_ISINF=0; AC_SUBST([REPLACE_ISINF]) |
10267 | 94 REPLACE_ISNAN=0; AC_SUBST([REPLACE_ISNAN]) |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
95 REPLACE_LDEXPL=0; AC_SUBST([REPLACE_LDEXPL]) |
9898
02bfc9acab82
Work around Solaris 10 math.h bug.
Eric Blake <ebb9@byu.net>
parents:
9645
diff
changeset
|
96 REPLACE_NAN=0; AC_SUBST([REPLACE_NAN]) |
9645
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
97 REPLACE_ROUND=0; AC_SUBST([REPLACE_ROUND]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
98 REPLACE_ROUNDF=0; AC_SUBST([REPLACE_ROUNDF]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
99 REPLACE_ROUNDL=0; AC_SUBST([REPLACE_ROUNDL]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
100 REPLACE_SIGNBIT=0; AC_SUBST([REPLACE_SIGNBIT]) |
c8174371956e
Exploit the __builtin_signbit GCC built-in.
Bruno Haible <bruno@clisp.org>
parents:
9465
diff
changeset
|
101 REPLACE_SIGNBIT_USING_GCC=0; AC_SUBST([REPLACE_SIGNBIT_USING_GCC]) |
9913
d3f5a70dc1ba
Make truncl work on OSF/1 4.0.
Bruno Haible <bruno@clisp.org>
parents:
9900
diff
changeset
|
102 REPLACE_TRUNCL=0; AC_SUBST([REPLACE_TRUNCL]) |
8186
c115624bf99a
New module 'math'. <math.h> replaces mathl.h.
Bruno Haible <bruno@clisp.org>
parents:
diff
changeset
|
103 ]) |