libstdc++: cmath File Reference

libstdc++

cmath File Reference

Go to the source code of this file.

## Namespaces
namespace | std

## Macros
#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>
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>
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>
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>
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 _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::atan2 (_Tp __y, _Up __x)
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>
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>
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 _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::copysign (_Tp __x, _Up __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)
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>
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>
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>
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>
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>
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>
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 _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::fdim (_Tp __x, _Up __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 _Up, typename _Vp>
constexpr __gnu_cxx::__promote_3< _Tp, _Up, _Vp >::__type | std::fma (_Tp __x, _Up __y, _Vp __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)
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)
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)
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)
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)
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>
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)
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>
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>
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>
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>
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>
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>
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>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::logb (_Tp __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>
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)
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 _Up>
constexpr __gnu_cxx::__promote_2< _Tp, _Up >::__type | std::nextafter (_Tp __x, _Up __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)
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)
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)
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>
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>
constexpr __gnu_cxx::__enable_if< __is_integer< _Tp >::__value, double >::__type | std::scalbln (_Tp __x, long __ex)
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)
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)
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>
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>
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>
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>
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>
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)

## 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_CMATH

#define _GLIBCXX_CMATH

Definition at line 40 of file cmath.

## ◆ _GLIBCXX_INCLUDE_NEXT_C_HEADERS

#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS

Definition at line 54 of file cmath.