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