cmath File Reference

Go to the source code of this file.

## Namespaces

namespace | std

## Macros

#define | __glibcxx_want_hypot
#define | __glibcxx_want_interpolate
#define | _GLIBCXX_CMATH
#define | _GLIBCXX_INCLUDE_NEXT_C_HEADERS

## Functions

template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::acos (_Tp __x)
constexpr float | std::acos (float __x)
constexpr long double | std::acos (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::acos(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::acos (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::acosh (_Tp __x)
constexpr float | std::acosh (float __x)
constexpr long double | std::acosh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::acosh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::acosh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::asin (_Tp __x)
constexpr float | std::asin (float __x)
constexpr long double | std::asin (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::asin(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::asin (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::asinh (_Tp __x)
constexpr float | std::asinh (float __x)
constexpr long double | std::asinh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::asinh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::asinh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::atan (_Tp __x)
constexpr float | std::atan (float __x)
constexpr long double | std::atan (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::atan(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::atan (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::atan2 (_Tp __y, _Up __x)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::atan2(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::atan2 (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::atan2 (float __y, float __x)
constexpr long double | std::atan2 (long double __y, long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::atanh (_Tp __x)
constexpr float | std::atanh (float __x)
constexpr long double | std::atanh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::atanh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::atanh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::cbrt (_Tp __x)
constexpr float | std::cbrt (float __x)
constexpr long double | std::cbrt (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::cbrt(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::cbrt (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::ceil (_Tp __x)
constexpr float | std::ceil (float __x)
constexpr long double | std::ceil (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::ceil(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::ceil (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::copysign (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point_v< _Tp >, simd< _Tp, _Abi > > | std::copysign (const simd< _Tp, _Abi > &__x, const simd< _Tp, _Abi > &__y)
constexpr float | std::copysign (float __x, float __y)
constexpr long double | std::copysign (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::cos (_Tp __x)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point_v< _Tp >, simd< _Tp, _Abi > > | std::cos (const simd< _Tp, _Abi > &__x)
constexpr float | std::cos (float __x)
constexpr long double | std::cos (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::cosh (_Tp __x)
constexpr float | std::cosh (float __x)
constexpr long double | std::cosh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::cosh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::cosh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::erf (_Tp __x)
constexpr float | std::erf (float __x)
constexpr long double | std::erf (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::erf(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::erf (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::erfc (_Tp __x)
constexpr float | std::erfc (float __x)
constexpr long double | std::erfc (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::erfc(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::erfc (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::exp (_Tp __x)
constexpr float | std::exp (float __x)
constexpr long double | std::exp (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::exp(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::exp (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::exp2 (_Tp __x)
constexpr float | std::exp2 (float __x)
constexpr long double | std::exp2 (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::exp2(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::exp2 (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::expm1 (_Tp __x)
constexpr float | std::expm1 (float __x)
constexpr long double | std::expm1 (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::expm1(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::expm1 (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::fabs (_Tp __x)
constexpr float | std::fabs (float __x)
constexpr long double | std::fabs (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::fabs(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fabs (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::fdim (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::fdim(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fdim (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::fdim (float __x, float __y)
constexpr long double | std::fdim (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::floor (_Tp __x)
constexpr float | std::floor (float __x)
constexpr long double | std::floor (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::floor(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::floor (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Up, typename _Vp>
constexpr __gnu_cxx::__promote_3< _Tp, _Up, _Vp >::__type | std::fma (_Tp __x, _Up __y, _Vp __z)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _Arg3 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::fma(declval<double>(), _Arg2::declval(), _Arg3::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fma (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y, const typename _Arg3::type &__z)
constexpr float | std::fma (float __x, float __y, float __z)
constexpr long double | std::fma (long double __x, long double __y, long double __z)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::fmax (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::fmax(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fmax (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::fmax (float __x, float __y)
constexpr long double | std::fmax (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::fmin (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::fmin(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fmin (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::fmin (float __x, float __y)
constexpr long double | std::fmin (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::fmod (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::fmod(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::fmod (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::fmod (float __x, float __y)
constexpr long double | std::fmod (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, int >::__type | std::fpclassify (_Tp __x)
constexpr int | std::fpclassify (double __x)
constexpr int | std::fpclassify (float __x)
constexpr int | std::fpclassify (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::frexp (_Tp __x, int *__exp)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point_v< _Tp >, simd< _Tp, _Abi > > | std::frexp (const simd< _Tp, _Abi > &__x, _Samesize< int, simd< _Tp, _Abi > > *__exp)
float | std::frexp (float __x, int *__exp)
long double | std::frexp (long double __x, int *__exp)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::hypot (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi>
_GLIBCXX_SIMD_INTRINSIC simd< _Tp, _Abi > | std::hypot (const simd< _Tp, _Abi > &__x, const simd< _Tp, _Abi > &__y)
constexpr float | std::hypot (float __x, float __y)
constexpr long double | std::hypot (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, int >::__type | std::ilogb (_Tp __x)
constexpr int | std::ilogb (float __x)
constexpr int | std::ilogb (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::ilogb(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::ilogb (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, bool >::__type | std::isfinite (_Tp)
constexpr bool | std::isfinite (double __x)
constexpr bool | std::isfinite (float __x)
constexpr bool | std::isfinite (long double __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::isgreater (_Tp __x, _Up __y)
constexpr bool | std::isgreater (double __x, double __y)
constexpr bool | std::isgreater (float __x, float __y)
constexpr bool | std::isgreater (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::isgreaterequal (_Tp __x, _Up __y)
constexpr bool | std::isgreaterequal (double __x, double __y)
constexpr bool | std::isgreaterequal (float __x, float __y)
constexpr bool | std::isgreaterequal (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, bool >::__type | std::isinf (_Tp)
constexpr bool | std::isinf (double __x)
constexpr bool | std::isinf (float __x)
constexpr bool | std::isinf (long double __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::isless (_Tp __x, _Up __y)
constexpr bool | std::isless (double __x, double __y)
constexpr bool | std::isless (float __x, float __y)
constexpr bool | std::isless (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::islessequal (_Tp __x, _Up __y)
constexpr bool | std::islessequal (double __x, double __y)
constexpr bool | std::islessequal (float __x, float __y)
constexpr bool | std::islessequal (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::islessgreater (_Tp __x, _Up __y)
constexpr bool | std::islessgreater (double __x, double __y)
constexpr bool | std::islessgreater (float __x, float __y)
constexpr bool | std::islessgreater (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, bool >::__type | std::isnan (_Tp)
constexpr bool | std::isnan (double __x)
constexpr bool | std::isnan (float __x)
constexpr bool | std::isnan (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, bool >::__type | std::isnormal (_Tp __x)
constexpr bool | std::isnormal (double __x)
constexpr bool | std::isnormal (float __x)
constexpr bool | std::isnormal (long double __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__enable_if<(__is_arithmetic< _Tp >::__value &&__is_arithmetic< _Up >::__value), bool >::__type | std::isunordered (_Tp __x, _Up __y)
constexpr bool | std::isunordered (double __x, double __y)
constexpr bool | std::isunordered (float __x, float __y)
constexpr bool | std::isunordered (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::ldexp (_Tp __x, int __exp)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<int, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::ldexp(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::ldexp (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::ldexp (float __x, int __exp)
constexpr long double | std::ldexp (long double __x, int __exp)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::lgamma (_Tp __x)
constexpr float | std::lgamma (float __x)
constexpr long double | std::lgamma (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::lgamma(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::lgamma (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, longlong >::__type | std::llrint (_Tp __x)
constexpr long long | std::llrint (float __x)
constexpr long long | std::llrint (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::llrint(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::llrint (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, longlong >::__type | std::llround (_Tp __x)
constexpr long long | std::llround (float __x)
constexpr long long | std::llround (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::llround(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::llround (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::log (_Tp __x)
constexpr float | std::log (float __x)
constexpr long double | std::log (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::log(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::log (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::log10 (_Tp __x)
constexpr float | std::log10 (float __x)
constexpr long double | std::log10 (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::log10(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::log10 (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::log1p (_Tp __x)
constexpr float | std::log1p (float __x)
constexpr long double | std::log1p (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::log1p(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::log1p (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::log2 (_Tp __x)
constexpr float | std::log2 (float __x)
constexpr long double | std::log2 (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::log2(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::log2 (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::logb (_Tp __x)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point< _Tp >::value, simd< _Tp, _Abi > > | std::logb (const simd< _Tp, _Abi > &__x)
constexpr float | std::logb (float __x)
constexpr long double | std::logb (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, long >::__type | std::lrint (_Tp __x)
constexpr long | std::lrint (float __x)
constexpr long | std::lrint (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::lrint(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::lrint (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, long >::__type | std::lround (_Tp __x)
constexpr long | std::lround (float __x)
constexpr long | std::lround (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::lround(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::lround (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point_v< _Tp >, simd< _Tp, _Abi > > | std::modf (const simd< _Tp, _Abi > &__x, simd< _Tp, _Abi > *__iptr)
float | std::modf (float __x, float *__iptr)
long double | std::modf (long double __x, long double *__iptr)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::nearbyint (_Tp __x)
constexpr float | std::nearbyint (float __x)
constexpr long double | std::nearbyint (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::nearbyint(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::nearbyint (simd< _Tp, _Abi > __x)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::nextafter (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::nextafter(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::nextafter (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::nextafter (float __x, float __y)
constexpr long double | std::nextafter (long double __x, long double __y)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::nexttoward (_Tp __x, long double __y)
constexpr float | std::nexttoward (float __x, long double __y)
constexpr long double | std::nexttoward (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::pow (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::pow(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::pow (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::pow (float __x, float __y)
constexpr long double | std::pow (long double __x, long double __y)
template<typename _Tp, typename _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::remainder (_Tp __x, _Up __y)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::remainder(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::remainder (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::remainder (float __x, float __y)
constexpr long double | std::remainder (long double __x, long double __y)
template<typename _Tp, typename _Up>
__gnu_cxx::__promote_2< _Tp, _Up >::__type | std::remquo (_Tp __x, _Up __y, int *__pquo)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<_Tp, _Tp, _Abi>, typename _Arg3 = _Extra_argument_type<int*, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::remquo(declval<double>(), _Arg2::declval(), _Arg3::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::remquo (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y, const typename _Arg3::type &__z)
float | std::remquo (float __x, float __y, int *__pquo)
long double | std::remquo (long double __x, long double __y, int *__pquo)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::rint (_Tp __x)
constexpr float | std::rint (float __x)
constexpr long double | std::rint (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::rint(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::rint (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::round (_Tp __x)
constexpr float | std::round (float __x)
constexpr long double | std::round (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::round(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::round (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::scalbln (_Tp __x, long __ex)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<long, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::scalbln(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::scalbln (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::scalbln (float __x, long __ex)
constexpr long double | std::scalbln (long double __x, long __ex)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::scalbn (_Tp __x, int __ex)
template<typename _Tp, typename _Abi, typename..., typename _Arg2 = _Extra_argument_type<int, _Tp, _Abi>, typename _R = _Math_return_type_t< decltype(std::scalbn(declval<double>(), _Arg2::declval())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::scalbn (const simd< _Tp, _Abi > &__x, const typename _Arg2::type &__y)
constexpr float | std::scalbn (float __x, int __ex)
constexpr long double | std::scalbn (long double __x, int __ex)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, bool >::__type | std::signbit (_Tp __x)
constexpr bool | std::signbit (double __x)
constexpr bool | std::signbit (float __x)
constexpr bool | std::signbit (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::sin (_Tp __x)
template<typename _Tp, typename _Abi, typename = __detail::__odr_helper>
enable_if_t< is_floating_point_v< _Tp >, simd< _Tp, _Abi > > | std::sin (const simd< _Tp, _Abi > &__x)
constexpr float | std::sin (float __x)
constexpr long double | std::sin (long double __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::sinh (_Tp __x)
constexpr float | std::sinh (float __x)
constexpr long double | std::sinh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::sinh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::sinh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::sqrt (_Tp __x)
constexpr float | std::sqrt (float __x)
constexpr long double | std::sqrt (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::sqrt(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::sqrt (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::tan (_Tp __x)
constexpr float | std::tan (float __x)
constexpr long double | std::tan (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::tan(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::tan (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::tanh (_Tp __x)
constexpr float | std::tanh (float __x)
constexpr long double | std::tanh (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::tanh(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::tanh (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::tgamma (_Tp __x)
constexpr float | std::tgamma (float __x)
constexpr long double | std::tgamma (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::tgamma(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::tgamma (simd< _Tp, _Abi > __x)
template<typename _Tp>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::trunc (_Tp __x)
constexpr float | std::trunc (float __x)
constexpr long double | std::trunc (long double __x)
template<typename _Tp, typename _Abi, typename..., typename _R = _Math_return_type_t< decltype(std::trunc(declval<double>())), _Tp, _Abi>>
_GLIBCXX_SIMD_ALWAYS_INLINE enable_if_t< is_floating_point_v< _Tp >, _R > | std::trunc (simd< _Tp, _Abi > __x)

## Detailed Description

This is a Standard C++ Library file. You should `#include` this file in your programs, rather than any of the *.h implementation files.

This is the C++ version of the Standard C Library header `math.h`, and its contents are (mostly) the same as that header, but are all contained in the namespace `std` (except for names which are defined as macros in C).

Definition in file cmath.

## Macro Definition Documentation

## __glibcxx_want_hypot

#define __glibcxx_want_hypot

Definition at line 54 of file cmath.

## __glibcxx_want_interpolate

#define __glibcxx_want_interpolate

Definition at line 55 of file cmath.

## _GLIBCXX_CMATH

#define _GLIBCXX_CMATH

Definition at line 52 of file cmath.

## _GLIBCXX_INCLUDE_NEXT_C_HEADERS

#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS

Definition at line 46 of file cmath.