author | Stefan Teleman <stefan.teleman@oracle.com> |
Wed, 16 Dec 2015 20:20:50 -0800 | |
changeset 5205 | eaff9ab86216 |
permissions | -rw-r--r-- |
5205
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1 |
# Imported from GCC upstream. Originally applied to GCC > 5.3, backported |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
2 |
# to 4.9.3 and 5.3. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
3 |
# |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
4 |
# S12 build 86 introduces changes to <math.h> and <iso/math_c99.h>. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
5 |
# <iso/math_c99.h> now contains the inline template declarations and |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
6 |
# definitions of many C99 Math C++ functions. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
7 |
# This wreaks havoc for consumers of cmath. We have no choice but to do |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
8 |
# an adjustment to cmath. Corresponding changes to ./configure to make it |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
9 |
# recognize when it cmatch changes are needed are included in |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
10 |
# this patch. The bulk of the changes are based on a recent upstream |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
11 |
# changeset: |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
12 |
# https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=230807 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
13 |
# |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
14 |
# The correct solution here is to fix <iso/math_c99.h>. The changes |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
15 |
# introduced in build 86 are unnecessary and ill-formed. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
16 |
diff -r -u libstdc++-v3/include/c_global/cmath libstdc++-v3/include/c_global/cmath |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
17 |
--- libstdc++-v3/include/c_global/cmath Thu Jan 2 14:30:10 2014 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
18 |
+++ libstdc++-v3/include/c_global/cmath Thu Dec 10 07:37:50 2015 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
19 |
@@ -557,6 +557,8 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
20 |
_GLIBCXX_BEGIN_NAMESPACE_VERSION |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
21 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
22 |
#if __cplusplus >= 201103L |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
23 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
24 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
25 |
constexpr int |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
26 |
fpclassify(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
27 |
{ return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
28 |
@@ -571,6 +573,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
29 |
fpclassify(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
30 |
{ return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
31 |
FP_SUBNORMAL, FP_ZERO, __x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
32 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
33 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
34 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
35 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
36 |
@@ -578,6 +581,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
37 |
fpclassify(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
38 |
{ return __x != 0 ? FP_NORMAL : FP_ZERO; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
39 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
40 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
41 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
42 |
isfinite(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
43 |
{ return __builtin_isfinite(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
44 |
@@ -589,6 +593,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
45 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
46 |
isfinite(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
47 |
{ return __builtin_isfinite(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
48 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
49 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
50 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
51 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
52 |
@@ -596,6 +601,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
53 |
isfinite(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
54 |
{ return true; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
55 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
56 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
57 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
58 |
isinf(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
59 |
{ return __builtin_isinf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
60 |
@@ -607,6 +613,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
61 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
62 |
isinf(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
63 |
{ return __builtin_isinf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
64 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
65 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
66 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
67 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
68 |
@@ -614,6 +621,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
69 |
isinf(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
70 |
{ return false; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
71 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
72 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
73 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
74 |
isnan(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
75 |
{ return __builtin_isnan(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
76 |
@@ -625,6 +633,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
77 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
78 |
isnan(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
79 |
{ return __builtin_isnan(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
80 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
81 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
82 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
83 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
84 |
@@ -632,6 +641,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
85 |
isnan(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
86 |
{ return false; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
87 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
88 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
89 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
90 |
isnormal(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
91 |
{ return __builtin_isnormal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
92 |
@@ -643,6 +653,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
93 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
94 |
isnormal(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
95 |
{ return __builtin_isnormal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
96 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
97 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
98 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
99 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
100 |
@@ -650,6 +661,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
101 |
isnormal(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
102 |
{ return __x != 0 ? true : false; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
103 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
104 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
105 |
// The front-end doesn't provide a type generic builtin (libstdc++/58625). |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
106 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
107 |
signbit(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
108 |
@@ -662,6 +674,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
109 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
110 |
signbit(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
111 |
{ return __builtin_signbitl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
112 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
113 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
114 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
115 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
116 |
@@ -669,6 +682,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
117 |
signbit(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
118 |
{ return __x < 0 ? true : false; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
119 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
120 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
121 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
122 |
isgreater(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
123 |
{ return __builtin_isgreater(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
124 |
@@ -680,6 +694,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
125 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
126 |
isgreater(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
127 |
{ return __builtin_isgreater(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
128 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
129 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
130 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
131 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
132 |
@@ -691,6 +706,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
133 |
return __builtin_isgreater(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
134 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
135 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
136 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
137 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
138 |
isgreaterequal(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
139 |
{ return __builtin_isgreaterequal(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
140 |
@@ -702,6 +718,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
141 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
142 |
isgreaterequal(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
143 |
{ return __builtin_isgreaterequal(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
144 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
145 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
146 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
147 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
148 |
@@ -713,6 +730,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
149 |
return __builtin_isgreaterequal(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
150 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
151 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
152 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
153 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
154 |
isless(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
155 |
{ return __builtin_isless(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
156 |
@@ -724,6 +742,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
157 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
158 |
isless(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
159 |
{ return __builtin_isless(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
160 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
161 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
162 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
163 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
164 |
@@ -735,6 +754,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
165 |
return __builtin_isless(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
166 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
167 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
168 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
169 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
170 |
islessequal(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
171 |
{ return __builtin_islessequal(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
172 |
@@ -746,6 +766,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
173 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
174 |
islessequal(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
175 |
{ return __builtin_islessequal(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
176 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
177 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
178 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
179 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
180 |
@@ -757,6 +778,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
181 |
return __builtin_islessequal(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
182 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
183 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
184 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
185 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
186 |
islessgreater(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
187 |
{ return __builtin_islessgreater(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
188 |
@@ -768,6 +790,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
189 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
190 |
islessgreater(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
191 |
{ return __builtin_islessgreater(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
192 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
193 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
194 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
195 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
196 |
@@ -779,6 +802,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
197 |
return __builtin_islessgreater(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
198 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
199 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
200 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
201 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
202 |
isunordered(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
203 |
{ return __builtin_isunordered(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
204 |
@@ -790,6 +814,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
205 |
constexpr bool |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
206 |
isunordered(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
207 |
{ return __builtin_isunordered(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
208 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
209 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
210 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
211 |
constexpr typename |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
212 |
@@ -1180,6 +1205,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
213 |
using ::truncl; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
214 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
215 |
/// Additional overloads. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
216 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
217 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
218 |
acosh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
219 |
{ return __builtin_acoshf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
220 |
@@ -1187,6 +1213,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
221 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
222 |
acosh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
223 |
{ return __builtin_acoshl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
224 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
225 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
226 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
227 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
228 |
@@ -1194,6 +1221,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
229 |
acosh(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
230 |
{ return __builtin_acosh(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
231 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
232 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
233 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
234 |
asinh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
235 |
{ return __builtin_asinhf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
236 |
@@ -1201,6 +1229,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
237 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
238 |
asinh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
239 |
{ return __builtin_asinhl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
240 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
241 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
242 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
243 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
244 |
@@ -1208,6 +1237,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
245 |
asinh(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
246 |
{ return __builtin_asinh(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
247 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
248 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
249 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
250 |
atanh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
251 |
{ return __builtin_atanhf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
252 |
@@ -1215,6 +1245,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
253 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
254 |
atanh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
255 |
{ return __builtin_atanhl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
256 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
257 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
258 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
259 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
260 |
@@ -1222,6 +1253,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
261 |
atanh(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
262 |
{ return __builtin_atanh(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
263 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
264 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
265 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
266 |
cbrt(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
267 |
{ return __builtin_cbrtf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
268 |
@@ -1229,6 +1261,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
269 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
270 |
cbrt(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
271 |
{ return __builtin_cbrtl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
272 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
273 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
274 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
275 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
276 |
@@ -1236,6 +1269,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
277 |
cbrt(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
278 |
{ return __builtin_cbrt(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
279 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
280 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
281 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
282 |
copysign(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
283 |
{ return __builtin_copysignf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
284 |
@@ -1243,6 +1277,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
285 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
286 |
copysign(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
287 |
{ return __builtin_copysignl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
288 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
289 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
290 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
291 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
292 |
@@ -1252,6 +1287,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
293 |
return copysign(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
294 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
295 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
296 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
297 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
298 |
erf(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
299 |
{ return __builtin_erff(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
300 |
@@ -1259,6 +1295,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
301 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
302 |
erf(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
303 |
{ return __builtin_erfl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
304 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
305 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
306 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
307 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
308 |
@@ -1266,6 +1303,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
309 |
erf(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
310 |
{ return __builtin_erf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
311 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
312 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
313 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
314 |
erfc(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
315 |
{ return __builtin_erfcf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
316 |
@@ -1273,6 +1311,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
317 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
318 |
erfc(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
319 |
{ return __builtin_erfcl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
320 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
321 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
322 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
323 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
324 |
@@ -1280,6 +1319,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
325 |
erfc(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
326 |
{ return __builtin_erfc(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
327 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
328 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
329 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
330 |
exp2(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
331 |
{ return __builtin_exp2f(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
332 |
@@ -1287,6 +1327,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
333 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
334 |
exp2(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
335 |
{ return __builtin_exp2l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
336 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
337 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
338 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
339 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
340 |
@@ -1294,6 +1335,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
341 |
exp2(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
342 |
{ return __builtin_exp2(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
343 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
344 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
345 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
346 |
expm1(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
347 |
{ return __builtin_expm1f(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
348 |
@@ -1301,6 +1343,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
349 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
350 |
expm1(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
351 |
{ return __builtin_expm1l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
352 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
353 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
354 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
355 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
356 |
@@ -1308,6 +1351,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
357 |
expm1(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
358 |
{ return __builtin_expm1(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
359 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
360 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
361 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
362 |
fdim(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
363 |
{ return __builtin_fdimf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
364 |
@@ -1315,6 +1359,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
365 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
366 |
fdim(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
367 |
{ return __builtin_fdiml(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
368 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
369 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
370 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
371 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
372 |
@@ -1324,6 +1369,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
373 |
return fdim(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
374 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
375 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
376 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
377 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
378 |
fma(float __x, float __y, float __z) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
379 |
{ return __builtin_fmaf(__x, __y, __z); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
380 |
@@ -1331,6 +1377,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
381 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
382 |
fma(long double __x, long double __y, long double __z) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
383 |
{ return __builtin_fmal(__x, __y, __z); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
384 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
385 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
386 |
template<typename _Tp, typename _Up, typename _Vp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
387 |
constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
388 |
@@ -1340,6 +1387,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
389 |
return fma(__type(__x), __type(__y), __type(__z)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
390 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
391 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
392 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
393 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
394 |
fmax(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
395 |
{ return __builtin_fmaxf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
396 |
@@ -1347,6 +1395,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
397 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
398 |
fmax(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
399 |
{ return __builtin_fmaxl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
400 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
401 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
402 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
403 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
404 |
@@ -1356,6 +1405,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
405 |
return fmax(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
406 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
407 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
408 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
409 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
410 |
fmin(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
411 |
{ return __builtin_fminf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
412 |
@@ -1363,6 +1413,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
413 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
414 |
fmin(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
415 |
{ return __builtin_fminl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
416 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
417 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
418 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
419 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
420 |
@@ -1372,6 +1423,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
421 |
return fmin(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
422 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
423 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
424 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
425 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
426 |
hypot(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
427 |
{ return __builtin_hypotf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
428 |
@@ -1379,6 +1431,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
429 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
430 |
hypot(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
431 |
{ return __builtin_hypotl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
432 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
433 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
434 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
435 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
436 |
@@ -1388,6 +1441,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
437 |
return hypot(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
438 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
439 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
440 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
441 |
constexpr int |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
442 |
ilogb(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
443 |
{ return __builtin_ilogbf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
444 |
@@ -1395,6 +1449,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
445 |
constexpr int |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
446 |
ilogb(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
447 |
{ return __builtin_ilogbl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
448 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
449 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
450 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
451 |
constexpr |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
452 |
@@ -1403,6 +1458,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
453 |
ilogb(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
454 |
{ return __builtin_ilogb(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
455 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
456 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
457 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
458 |
lgamma(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
459 |
{ return __builtin_lgammaf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
460 |
@@ -1410,6 +1466,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
461 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
462 |
lgamma(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
463 |
{ return __builtin_lgammal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
464 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
465 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
466 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
467 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
468 |
@@ -1417,6 +1474,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
469 |
lgamma(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
470 |
{ return __builtin_lgamma(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
471 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
472 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
473 |
constexpr long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
474 |
llrint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
475 |
{ return __builtin_llrintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
476 |
@@ -1424,6 +1482,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
477 |
constexpr long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
478 |
llrint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
479 |
{ return __builtin_llrintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
480 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
481 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
482 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
483 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
484 |
@@ -1431,6 +1490,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
485 |
llrint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
486 |
{ return __builtin_llrint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
487 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
488 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
489 |
constexpr long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
490 |
llround(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
491 |
{ return __builtin_llroundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
492 |
@@ -1438,6 +1498,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
493 |
constexpr long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
494 |
llround(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
495 |
{ return __builtin_llroundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
496 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
497 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
498 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
499 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
500 |
@@ -1445,6 +1506,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
501 |
llround(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
502 |
{ return __builtin_llround(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
503 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
504 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
505 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
506 |
log1p(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
507 |
{ return __builtin_log1pf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
508 |
@@ -1452,6 +1514,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
509 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
510 |
log1p(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
511 |
{ return __builtin_log1pl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
512 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
513 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
514 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
515 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
516 |
@@ -1459,6 +1522,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
517 |
log1p(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
518 |
{ return __builtin_log1p(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
519 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
520 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
521 |
// DR 568. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
522 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
523 |
log2(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
524 |
@@ -1467,6 +1531,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
525 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
526 |
log2(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
527 |
{ return __builtin_log2l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
528 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
529 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
530 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
531 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
532 |
@@ -1474,6 +1539,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
533 |
log2(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
534 |
{ return __builtin_log2(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
535 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
536 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
537 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
538 |
logb(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
539 |
{ return __builtin_logbf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
540 |
@@ -1481,6 +1547,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
541 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
542 |
logb(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
543 |
{ return __builtin_logbl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
544 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
545 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
546 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
547 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
548 |
@@ -1488,6 +1555,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
549 |
logb(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
550 |
{ return __builtin_logb(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
551 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
552 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
553 |
constexpr long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
554 |
lrint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
555 |
{ return __builtin_lrintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
556 |
@@ -1495,6 +1563,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
557 |
constexpr long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
558 |
lrint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
559 |
{ return __builtin_lrintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
560 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
561 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
562 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
563 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
564 |
@@ -1502,6 +1571,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
565 |
lrint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
566 |
{ return __builtin_lrint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
567 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
568 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
569 |
constexpr long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
570 |
lround(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
571 |
{ return __builtin_lroundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
572 |
@@ -1509,6 +1579,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
573 |
constexpr long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
574 |
lround(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
575 |
{ return __builtin_lroundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
576 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
577 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
578 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
579 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
580 |
@@ -1516,6 +1587,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
581 |
lround(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
582 |
{ return __builtin_lround(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
583 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
584 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
585 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
586 |
nearbyint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
587 |
{ return __builtin_nearbyintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
588 |
@@ -1523,6 +1595,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
589 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
590 |
nearbyint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
591 |
{ return __builtin_nearbyintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
592 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
593 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
594 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
595 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
596 |
@@ -1530,6 +1603,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
597 |
nearbyint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
598 |
{ return __builtin_nearbyint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
599 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
600 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
601 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
602 |
nextafter(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
603 |
{ return __builtin_nextafterf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
604 |
@@ -1537,6 +1611,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
605 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
606 |
nextafter(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
607 |
{ return __builtin_nextafterl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
608 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
609 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
610 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
611 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
612 |
@@ -1546,6 +1621,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
613 |
return nextafter(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
614 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
615 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
616 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
617 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
618 |
nexttoward(float __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
619 |
{ return __builtin_nexttowardf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
620 |
@@ -1553,6 +1629,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
621 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
622 |
nexttoward(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
623 |
{ return __builtin_nexttowardl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
624 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
625 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
626 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
627 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
628 |
@@ -1560,6 +1637,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
629 |
nexttoward(_Tp __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
630 |
{ return __builtin_nexttoward(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
631 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
632 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
633 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
634 |
remainder(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
635 |
{ return __builtin_remainderf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
636 |
@@ -1567,6 +1645,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
637 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
638 |
remainder(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
639 |
{ return __builtin_remainderl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
640 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
641 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
642 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
643 |
constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
644 |
@@ -1576,6 +1655,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
645 |
return remainder(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
646 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
647 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
648 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
649 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
650 |
remquo(float __x, float __y, int* __pquo) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
651 |
{ return __builtin_remquof(__x, __y, __pquo); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
652 |
@@ -1583,6 +1663,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
653 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
654 |
remquo(long double __x, long double __y, int* __pquo) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
655 |
{ return __builtin_remquol(__x, __y, __pquo); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
656 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
657 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
658 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
659 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
660 |
@@ -1592,6 +1673,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
661 |
return remquo(__type(__x), __type(__y), __pquo); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
662 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
663 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
664 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
665 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
666 |
rint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
667 |
{ return __builtin_rintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
668 |
@@ -1599,6 +1681,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
669 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
670 |
rint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
671 |
{ return __builtin_rintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
672 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
673 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
674 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
675 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
676 |
@@ -1606,6 +1689,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
677 |
rint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
678 |
{ return __builtin_rint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
679 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
680 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
681 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
682 |
round(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
683 |
{ return __builtin_roundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
684 |
@@ -1613,6 +1697,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
685 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
686 |
round(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
687 |
{ return __builtin_roundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
688 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
689 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
690 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
691 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
692 |
@@ -1620,6 +1705,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
693 |
round(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
694 |
{ return __builtin_round(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
695 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
696 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
697 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
698 |
scalbln(float __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
699 |
{ return __builtin_scalblnf(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
700 |
@@ -1627,6 +1713,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
701 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
702 |
scalbln(long double __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
703 |
{ return __builtin_scalblnl(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
704 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
705 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
706 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
707 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
708 |
@@ -1634,6 +1721,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
709 |
scalbln(_Tp __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
710 |
{ return __builtin_scalbln(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
711 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
712 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
713 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
714 |
scalbn(float __x, int __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
715 |
{ return __builtin_scalbnf(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
716 |
@@ -1641,6 +1729,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
717 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
718 |
scalbn(long double __x, int __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
719 |
{ return __builtin_scalbnl(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
720 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
721 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
722 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
723 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
724 |
@@ -1648,6 +1737,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
725 |
scalbn(_Tp __x, int __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
726 |
{ return __builtin_scalbn(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
727 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
728 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
729 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
730 |
tgamma(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
731 |
{ return __builtin_tgammaf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
732 |
@@ -1655,6 +1745,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
733 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
734 |
tgamma(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
735 |
{ return __builtin_tgammal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
736 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
737 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
738 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
739 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
740 |
@@ -1662,6 +1753,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
741 |
tgamma(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
742 |
{ return __builtin_tgamma(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
743 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
744 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
745 |
constexpr float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
746 |
trunc(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
747 |
{ return __builtin_truncf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
748 |
@@ -1669,6 +1761,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
749 |
constexpr long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
750 |
trunc(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
751 |
{ return __builtin_truncl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
752 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
753 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
754 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
755 |
constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
756 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
757 |
diff -r -u libstdc++-v3/include/tr1/cmath libstdc++-v3/include/tr1/cmath |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
758 |
--- libstdc++-v3/include/tr1/cmath Thu Jan 2 14:30:10 2014 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
759 |
+++ libstdc++-v3/include/tr1/cmath Thu Dec 10 07:34:33 2015 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
760 |
@@ -419,6 +419,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
761 |
/// Additional overloads [8.16.4]. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
762 |
using std::acos; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
763 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
764 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
765 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
766 |
acosh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
767 |
{ return __builtin_acoshf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
768 |
@@ -426,6 +427,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
769 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
770 |
acosh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
771 |
{ return __builtin_acoshl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
772 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
773 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
774 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
775 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
776 |
@@ -435,6 +437,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
777 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
778 |
using std::asin; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
779 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
780 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
781 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
782 |
asinh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
783 |
{ return __builtin_asinhf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
784 |
@@ -442,6 +445,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
785 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
786 |
asinh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
787 |
{ return __builtin_asinhl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
788 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
789 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
790 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
791 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
792 |
@@ -452,6 +456,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
793 |
using std::atan; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
794 |
using std::atan2; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
795 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
796 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
797 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
798 |
atanh(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
799 |
{ return __builtin_atanhf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
800 |
@@ -459,6 +464,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
801 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
802 |
atanh(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
803 |
{ return __builtin_atanhl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
804 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
805 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
806 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
807 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
808 |
@@ -466,6 +472,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
809 |
atanh(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
810 |
{ return __builtin_atanh(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
811 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
812 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
813 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
814 |
cbrt(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
815 |
{ return __builtin_cbrtf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
816 |
@@ -473,6 +480,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
817 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
818 |
cbrt(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
819 |
{ return __builtin_cbrtl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
820 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
821 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
822 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
823 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
824 |
@@ -482,6 +490,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
825 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
826 |
using std::ceil; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
827 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
828 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
829 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
830 |
copysign(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
831 |
{ return __builtin_copysignf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
832 |
@@ -489,6 +498,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
833 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
834 |
copysign(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
835 |
{ return __builtin_copysignl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
836 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
837 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
838 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
839 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
840 |
@@ -501,6 +511,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
841 |
using std::cos; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
842 |
using std::cosh; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
843 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
844 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
845 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
846 |
erf(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
847 |
{ return __builtin_erff(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
848 |
@@ -508,6 +519,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
849 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
850 |
erf(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
851 |
{ return __builtin_erfl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
852 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
853 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
854 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
855 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
856 |
@@ -515,6 +527,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
857 |
erf(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
858 |
{ return __builtin_erf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
859 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
860 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
861 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
862 |
erfc(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
863 |
{ return __builtin_erfcf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
864 |
@@ -522,6 +535,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
865 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
866 |
erfc(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
867 |
{ return __builtin_erfcl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
868 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
869 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
870 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
871 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
872 |
@@ -531,6 +545,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
873 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
874 |
using std::exp; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
875 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
876 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
877 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
878 |
exp2(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
879 |
{ return __builtin_exp2f(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
880 |
@@ -538,6 +553,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
881 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
882 |
exp2(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
883 |
{ return __builtin_exp2l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
884 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
885 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
886 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
887 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
888 |
@@ -545,6 +561,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
889 |
exp2(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
890 |
{ return __builtin_exp2(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
891 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
892 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
893 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
894 |
expm1(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
895 |
{ return __builtin_expm1f(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
896 |
@@ -552,6 +569,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
897 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
898 |
expm1(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
899 |
{ return __builtin_expm1l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
900 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
901 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
902 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
903 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
904 |
@@ -568,6 +586,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
905 |
using ::fabs; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
906 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
907 |
#ifndef __CORRECT_ISO_CPP_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
908 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
909 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
910 |
fabs(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
911 |
{ return __builtin_fabsf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
912 |
@@ -575,6 +594,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
913 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
914 |
fabs(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
915 |
{ return __builtin_fabsl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
916 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
917 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
918 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
919 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
920 |
@@ -583,6 +603,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
921 |
{ return __builtin_fabs(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
922 |
#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
923 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
924 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
925 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
926 |
fdim(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
927 |
{ return __builtin_fdimf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
928 |
@@ -590,6 +611,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
929 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
930 |
fdim(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
931 |
{ return __builtin_fdiml(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
932 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
933 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
934 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
935 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
936 |
@@ -601,6 +623,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
937 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
938 |
using std::floor; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
939 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
940 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
941 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
942 |
fma(float __x, float __y, float __z) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
943 |
{ return __builtin_fmaf(__x, __y, __z); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
944 |
@@ -608,6 +631,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
945 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
946 |
fma(long double __x, long double __y, long double __z) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
947 |
{ return __builtin_fmal(__x, __y, __z); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
948 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
949 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
950 |
template<typename _Tp, typename _Up, typename _Vp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
951 |
inline typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
952 |
@@ -617,6 +641,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
953 |
return fma(__type(__x), __type(__y), __type(__z)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
954 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
955 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
956 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
957 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
958 |
fmax(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
959 |
{ return __builtin_fmaxf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
960 |
@@ -624,6 +649,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
961 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
962 |
fmax(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
963 |
{ return __builtin_fmaxl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
964 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
965 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
966 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
967 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
968 |
@@ -633,6 +659,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
969 |
return fmax(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
970 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
971 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
972 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
973 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
974 |
fmin(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
975 |
{ return __builtin_fminf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
976 |
@@ -640,6 +667,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
977 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
978 |
fmin(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
979 |
{ return __builtin_fminl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
980 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
981 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
982 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
983 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
984 |
@@ -652,6 +680,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
985 |
using std::fmod; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
986 |
using std::frexp; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
987 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
988 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
989 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
990 |
hypot(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
991 |
{ return __builtin_hypotf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
992 |
@@ -659,6 +688,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
993 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
994 |
hypot(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
995 |
{ return __builtin_hypotl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
996 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
997 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
998 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
999 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1000 |
@@ -668,6 +698,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1001 |
return hypot(__type(__y), __type(__x)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1002 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1003 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1004 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1005 |
inline int |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1006 |
ilogb(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1007 |
{ return __builtin_ilogbf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1008 |
@@ -675,6 +706,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1009 |
inline int |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1010 |
ilogb(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1011 |
{ return __builtin_ilogbl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1012 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1013 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1014 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1015 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1016 |
@@ -684,6 +716,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1017 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1018 |
using std::ldexp; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1019 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1020 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1021 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1022 |
lgamma(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1023 |
{ return __builtin_lgammaf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1024 |
@@ -691,6 +724,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1025 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1026 |
lgamma(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1027 |
{ return __builtin_lgammal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1028 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1029 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1030 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1031 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1032 |
@@ -698,6 +732,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1033 |
lgamma(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1034 |
{ return __builtin_lgamma(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1035 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1036 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1037 |
inline long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1038 |
llrint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1039 |
{ return __builtin_llrintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1040 |
@@ -705,6 +740,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1041 |
inline long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1042 |
llrint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1043 |
{ return __builtin_llrintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1044 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1045 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1046 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1047 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1048 |
@@ -712,6 +748,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1049 |
llrint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1050 |
{ return __builtin_llrint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1051 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1052 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1053 |
inline long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1054 |
llround(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1055 |
{ return __builtin_llroundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1056 |
@@ -719,6 +756,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1057 |
inline long long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1058 |
llround(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1059 |
{ return __builtin_llroundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1060 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1061 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1062 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1063 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1064 |
@@ -729,6 +767,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1065 |
using std::log; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1066 |
using std::log10; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1067 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1068 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1069 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1070 |
log1p(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1071 |
{ return __builtin_log1pf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1072 |
@@ -736,6 +775,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1073 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1074 |
log1p(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1075 |
{ return __builtin_log1pl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1076 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1077 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1078 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1079 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1080 |
@@ -744,6 +784,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1081 |
{ return __builtin_log1p(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1082 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1083 |
// DR 568. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1084 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1085 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1086 |
log2(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1087 |
{ return __builtin_log2f(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1088 |
@@ -751,6 +792,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1089 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1090 |
log2(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1091 |
{ return __builtin_log2l(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1092 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1093 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1094 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1095 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1096 |
@@ -758,6 +800,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1097 |
log2(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1098 |
{ return __builtin_log2(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1099 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1100 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1101 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1102 |
logb(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1103 |
{ return __builtin_logbf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1104 |
@@ -765,6 +808,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1105 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1106 |
logb(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1107 |
{ return __builtin_logbl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1108 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1109 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1110 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1111 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1112 |
@@ -774,6 +818,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1113 |
return __builtin_logb(__x); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1114 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1115 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1116 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1117 |
inline long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1118 |
lrint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1119 |
{ return __builtin_lrintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1120 |
@@ -781,6 +826,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1121 |
inline long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1122 |
lrint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1123 |
{ return __builtin_lrintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1124 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1125 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1126 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1127 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1128 |
@@ -788,6 +834,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1129 |
lrint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1130 |
{ return __builtin_lrint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1131 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1132 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1133 |
inline long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1134 |
lround(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1135 |
{ return __builtin_lroundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1136 |
@@ -795,6 +842,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1137 |
inline long |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1138 |
lround(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1139 |
{ return __builtin_lroundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1140 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1141 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1142 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1143 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1144 |
@@ -802,6 +850,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1145 |
lround(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1146 |
{ return __builtin_lround(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1147 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1148 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1149 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1150 |
nearbyint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1151 |
{ return __builtin_nearbyintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1152 |
@@ -809,6 +858,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1153 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1154 |
nearbyint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1155 |
{ return __builtin_nearbyintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1156 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1157 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1158 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1159 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1160 |
@@ -816,6 +866,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1161 |
nearbyint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1162 |
{ return __builtin_nearbyint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1163 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1164 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1165 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1166 |
nextafter(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1167 |
{ return __builtin_nextafterf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1168 |
@@ -823,6 +874,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1169 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1170 |
nextafter(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1171 |
{ return __builtin_nextafterl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1172 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1173 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1174 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1175 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1176 |
@@ -832,6 +884,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1177 |
return nextafter(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1178 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1179 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1180 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1181 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1182 |
nexttoward(float __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1183 |
{ return __builtin_nexttowardf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1184 |
@@ -839,6 +892,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1185 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1186 |
nexttoward(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1187 |
{ return __builtin_nexttowardl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1188 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1189 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1190 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1191 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1192 |
@@ -846,6 +900,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1193 |
nexttoward(_Tp __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1194 |
{ return __builtin_nexttoward(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1195 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1196 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1197 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1198 |
remainder(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1199 |
{ return __builtin_remainderf(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1200 |
@@ -853,6 +908,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1201 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1202 |
remainder(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1203 |
{ return __builtin_remainderl(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1204 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1205 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1206 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1207 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1208 |
@@ -862,6 +918,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1209 |
return remainder(__type(__x), __type(__y)); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1210 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1211 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1212 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1213 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1214 |
remquo(float __x, float __y, int* __pquo) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1215 |
{ return __builtin_remquof(__x, __y, __pquo); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1216 |
@@ -869,6 +926,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1217 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1218 |
remquo(long double __x, long double __y, int* __pquo) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1219 |
{ return __builtin_remquol(__x, __y, __pquo); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1220 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1221 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1222 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1223 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1224 |
@@ -878,6 +936,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1225 |
return remquo(__type(__x), __type(__y), __pquo); |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1226 |
} |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1227 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1228 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1229 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1230 |
rint(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1231 |
{ return __builtin_rintf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1232 |
@@ -885,6 +944,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1233 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1234 |
rint(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1235 |
{ return __builtin_rintl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1236 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1237 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1238 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1239 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1240 |
@@ -892,6 +952,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1241 |
rint(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1242 |
{ return __builtin_rint(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1243 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1244 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1245 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1246 |
round(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1247 |
{ return __builtin_roundf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1248 |
@@ -899,6 +960,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1249 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1250 |
round(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1251 |
{ return __builtin_roundl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1252 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1253 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1254 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1255 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1256 |
@@ -906,6 +968,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1257 |
round(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1258 |
{ return __builtin_round(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1259 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1260 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1261 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1262 |
scalbln(float __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1263 |
{ return __builtin_scalblnf(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1264 |
@@ -913,6 +976,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1265 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1266 |
scalbln(long double __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1267 |
{ return __builtin_scalblnl(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1268 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1269 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1270 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1271 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1272 |
@@ -920,6 +984,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1273 |
scalbln(_Tp __x, long __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1274 |
{ return __builtin_scalbln(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1275 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1276 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1277 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1278 |
scalbn(float __x, int __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1279 |
{ return __builtin_scalbnf(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1280 |
@@ -927,6 +992,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1281 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1282 |
scalbn(long double __x, int __ex) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1283 |
{ return __builtin_scalbnl(__x, __ex); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1284 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1285 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1286 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1287 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1288 |
@@ -940,6 +1006,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1289 |
using std::tan; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1290 |
using std::tanh; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1291 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1292 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1293 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1294 |
tgamma(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1295 |
{ return __builtin_tgammaf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1296 |
@@ -947,6 +1014,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1297 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1298 |
tgamma(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1299 |
{ return __builtin_tgammal(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1300 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1301 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1302 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1303 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1304 |
@@ -954,6 +1022,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1305 |
tgamma(_Tp __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1306 |
{ return __builtin_tgamma(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1307 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1308 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1309 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1310 |
trunc(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1311 |
{ return __builtin_truncf(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1312 |
@@ -961,6 +1030,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1313 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1314 |
trunc(long double __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1315 |
{ return __builtin_truncl(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1316 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1317 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1318 |
template<typename _Tp> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1319 |
inline typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value, |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1320 |
@@ -994,6 +1064,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1321 |
// the discussion about this issue here: |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1322 |
// http://gcc.gnu.org/ml/gcc-patches/2012-09/msg01278.html |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1323 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1324 |
+#ifndef __CORRECT_ISO_CPP11_MATH_H_PROTO |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1325 |
inline float |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1326 |
pow(float __x, float __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1327 |
{ return std::pow(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1328 |
@@ -1001,6 +1072,7 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1329 |
inline long double |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1330 |
pow(long double __x, long double __y) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1331 |
{ return std::pow(__x, __y); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1332 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1333 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1334 |
template<typename _Tp, typename _Up> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1335 |
inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1336 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1337 |
diff -r -u libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1338 |
--- libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc Thu Jan 2 14:30:10 2014 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1339 |
+++ libstdc++-v3/testsuite/26_numerics/headers/cmath/c99_classification_macros_c.cc Thu Dec 10 07:40:27 2015 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1340 |
@@ -20,9 +20,10 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1341 |
// { dg-do compile } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1342 |
// { dg-add-options no_pch } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1343 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1344 |
-// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* } || { uclibc || newlib } } { "*" } { "" } } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1345 |
-// { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[0-9]* hppa*-*-hpux* *-*-mingw* } || { uclibc || newlib } } } } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1346 |
+// { dg-xfail-if "" { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } { "*" } { "" } } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1347 |
+// { dg-excess-errors "" { target { { *-*-linux* *-*-gnu* *-*-darwin* *-*-solaris2.1[01]* hppa*-*-hpux* *-*-mingw* *-*-aix* } || { uclibc || newlib } } } } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1348 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1349 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1350 |
#include <math.h> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1351 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1352 |
void fpclassify() { } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1353 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1354 |
--- libstdc++-v3/include/bits/c++config Thu Jan 2 14:30:10 2014 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1355 |
+++ libstdc++-v3/include/bits/c++config Thu Dec 10 08:35:47 2015 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1356 |
@@ -456,6 +456,12 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1357 |
# define _GLIBCXX_FAST_MATH 0 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1358 |
#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1359 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1360 |
+/* Define if all C++11 overloads are available in <math.h>. */ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1361 |
+#if __cplusplus >= 201103L |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1362 |
+#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1363 |
+#endif |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1364 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1365 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1366 |
// This marks string literals in header files to be extracted for eventual |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1367 |
// translation. It is primarily used for messages in thrown exceptions; see |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1368 |
// src/functexcept.cc. We use __N because the more traditional _N is used |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1369 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1370 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1371 |
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for EOWNERDEAD" >&5 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1372 |
$as_echo_n "checking for EOWNERDEAD... " >&6; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1373 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1374 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1375 |
# |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1376 |
# Since GCC is sensitive to which version of autoconf is used, we are |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1377 |
# also including a patch to configure here to avoid running autoconf. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1378 |
# Perhaps we will make this work with the version of autoconf we are |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1379 |
# shipping in the future. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1380 |
# |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1381 |
diff -r -u libstdc++-v3/configure libstdc++-v3/configure |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1382 |
--- libstdc++-v3/configure Thu Jan 23 13:17:15 2014 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1383 |
+++ libstdc++-v3/configure Thu Dec 10 08:19:59 2015 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1384 |
@@ -17486,8 +17486,65 @@ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1385 |
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1386 |
ac_compiler_gnu=$ac_cv_c_compiler_gnu |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1387 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1388 |
+ ac_ext=cpp |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1389 |
+ac_cpp='$CXXCPP $CPPFLAGS' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1390 |
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1391 |
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1392 |
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1393 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1394 |
+ ac_save_CXXFLAGS="$CXXFLAGS" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1395 |
+ CXXFLAGS="$CXXFLAGS -std=c++11" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1396 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1397 |
+ case "$host" in |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1398 |
+ *-*-solaris2.*) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1399 |
+ # Solaris 12 introduced the C++11 <math.h> overloads. A backport to |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1400 |
+ # a Solaris 11.3 SRU is likely, maybe even a Solaris 10 patch. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1401 |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++11 <math.h> overloads" >&5 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1402 |
+$as_echo_n "checking for C++11 <math.h> overloads... " >&6; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1403 |
+ if ${glibcxx_cv_math11_overload+:} false; then : |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1404 |
+ $as_echo_n "(cached) " >&6 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1405 |
+else |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1406 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1407 |
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1408 |
+/* end confdefs.h. */ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1409 |
+#include <math.h> |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1410 |
+ #undef isfinite |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1411 |
+ namespace std { |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1412 |
+ inline bool isfinite(float __x) |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1413 |
+ { return __builtin_isfinite(__x); } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1414 |
+ } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1415 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1416 |
+_ACEOF |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1417 |
+if ac_fn_cxx_try_compile "$LINENO"; then : |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1418 |
+ glibcxx_cv_math11_overload=no |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1419 |
+else |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1420 |
+ glibcxx_cv_math11_overload=yes |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1421 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1422 |
+fi |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1423 |
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1424 |
+fi |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1425 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1426 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1427 |
+ # autoheader cannot handle indented templates. |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1428 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1429 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1430 |
+ if test $glibcxx_cv_math11_overload = yes; then |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1431 |
+ $as_echo "#define __CORRECT_ISO_CPP11_MATH_H_PROTO 1" >>confdefs.h |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1432 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1433 |
+ fi |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1434 |
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $glibcxx_cv_math11_overload" >&5 |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1435 |
+$as_echo "$glibcxx_cv_math11_overload" >&6; } |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1436 |
+ ;; |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1437 |
+ esac |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1438 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1439 |
+ CXXFLAGS="$ac_save_CXXFLAGS" |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1440 |
+ ac_ext=c |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1441 |
+ac_cpp='$CPP $CPPFLAGS' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1442 |
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1443 |
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1444 |
+ac_compiler_gnu=$ac_cv_c_compiler_gnu |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1445 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1446 |
+ |
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1447 |
|
eaff9ab86216
21637184 integrate GCC 4.9.3 in Solaris
Stefan Teleman <stefan.teleman@oracle.com>
parents:
diff
changeset
|
1448 |