1 // -*- C++ -*- compatibility header.
2 
3 // Copyright (C) 2002-2016 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library.  This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
9 // any later version.
10 
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 // GNU General Public License for more details.
15 
16 // Under Section 7 of GPL version 3, you are granted additional
17 // permissions described in the GCC Runtime Library Exception, version
18 // 3.1, as published by the Free Software Foundation.
19 
20 // You should have received a copy of the GNU General Public License and
21 // a copy of the GCC Runtime Library Exception along with this program;
22 // see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23 // <http://www.gnu.org/licenses/>.
24 
25 /** @file math.h
26  *  This is a Standard C++ Library header.
27  */
28 
29 #if !defined __cplusplus || defined _GLIBCXX_INCLUDE_NEXT_C_HEADERS
30 # include_next <math.h>
31 #else
32 
33 #ifndef _GLIBCXX_MATH_H
34 #define _GLIBCXX_MATH_H 1
35 
36 # include <cmath>
37 
38 using std::abs;
39 using std::acos;
40 using std::asin;
41 using std::atan;
42 using std::atan2;
43 using std::cos;
44 using std::sin;
45 using std::tan;
46 using std::cosh;
47 using std::sinh;
48 using std::tanh;
49 using std::exp;
50 using std::frexp;
51 using std::ldexp;
52 using std::log;
53 using std::log10;
54 using std::modf;
55 using std::pow;
56 using std::sqrt;
57 using std::ceil;
58 using std::fabs;
59 using std::floor;
60 using std::fmod;
61 
62 #if _GLIBCXX_USE_C99_MATH
63 using std::fpclassify;
64 using std::isfinite;
65 using std::isinf;
66 using std::isnan;
67 using std::isnormal;
68 using std::signbit;
69 using std::isgreater;
70 using std::isgreaterequal;
71 using std::isless;
72 using std::islessequal;
73 using std::islessgreater;
74 using std::isunordered;
75 #endif
76 
77 #if __cplusplus >= 201103L && defined(_GLIBCXX_USE_C99_MATH_TR1)
78 using std::acosh;
79 using std::asinh;
80 using std::atanh;
81 using std::cbrt;
82 using std::copysign;
83 using std::erf;
84 using std::erfc;
85 using std::exp2;
86 using std::expm1;
87 using std::fdim;
88 using std::fma;
89 using std::fmax;
90 using std::fmin;
91 using std::hypot;
92 using std::ilogb;
93 using std::lgamma;
94 using std::llrint;
95 using std::llround;
96 using std::log1p;
97 using std::log2;
98 using std::logb;
99 using std::lrint;
100 using std::lround;
101 using std::nearbyint;
102 using std::nextafter;
103 using std::nexttoward;
104 using std::remainder;
105 using std::remquo;
106 using std::rint;
107 using std::round;
108 using std::scalbln;
109 using std::scalbn;
110 using std::tgamma;
111 using std::trunc;
112 #endif // C++11 && _GLIBCXX_USE_C99_MATH_TR1
113 
114 #if __STDCPP_WANT_MATH_SPEC_FUNCS__ == 1
115 using std::assoc_laguerref;
116 using std::assoc_laguerrel;
117 using std::assoc_laguerre;
118 using std::assoc_legendref;
119 using std::assoc_legendrel;
120 using std::assoc_legendre;
121 using std::betaf;
122 using std::betal;
123 using std::beta;
124 using std::comp_ellint_1f;
125 using std::comp_ellint_1l;
126 using std::comp_ellint_1;
127 using std::comp_ellint_2f;
128 using std::comp_ellint_2l;
129 using std::comp_ellint_2;
130 using std::comp_ellint_3f;
131 using std::comp_ellint_3l;
132 using std::comp_ellint_3;
133 using std::cyl_bessel_if;
134 using std::cyl_bessel_il;
135 using std::cyl_bessel_i;
136 using std::cyl_bessel_jf;
137 using std::cyl_bessel_jl;
138 using std::cyl_bessel_j;
139 using std::cyl_bessel_kf;
140 using std::cyl_bessel_kl;
141 using std::cyl_bessel_k;
142 using std::cyl_neumannf;
143 using std::cyl_neumannl;
144 using std::cyl_neumann;
145 using std::ellint_1f;
146 using std::ellint_1l;
147 using std::ellint_1;
148 using std::ellint_2f;
149 using std::ellint_2l;
150 using std::ellint_2;
151 using std::ellint_3f;
152 using std::ellint_3l;
153 using std::ellint_3;
154 using std::expintf;
155 using std::expintl;
156 using std::expint;
157 using std::hermitef;
158 using std::hermitel;
159 using std::hermite;
160 using std::laguerref;
161 using std::laguerrel;
162 using std::laguerre;
163 using std::legendref;
164 using std::legendrel;
165 using std::legendre;
166 using std::riemann_zetaf;
167 using std::riemann_zetal;
168 using std::riemann_zeta;
169 using std::sph_besself;
170 using std::sph_bessell;
171 using std::sph_bessel;
172 using std::sph_legendref;
173 using std::sph_legendrel;
174 using std::sph_legendre;
175 using std::sph_neumannf;
176 using std::sph_neumannl;
177 using std::sph_neumann;
178 #endif // __STDCPP_WANT_MATH_SPEC_FUNCS__
179 
180 #endif // _GLIBCXX_MATH_H
181 #endif // __cplusplus
182