# cmath File Reference

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

Go to the source code of this file.

## Namespaces

- namespace std

## Defines

- #define _GLIBCXX_CMATH

## Functions

- template<typename _Tp> _Tp std::__cmath_power (_Tp, unsigned int)
- template<typename _Tp> _Tp std::__pow_helper (_Tp __x, int __n)
- long double std::abs (long double __x)
- float std::abs (float __x)
- double std::abs (double __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::acos (_Tp __x)
- long double std::acos (long double __x)
- float std::acos (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::asin (_Tp __x)
- long double std::asin (long double __x)
- float std::asin (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::atan (_Tp __x)
- long double std::atan (long double __x)
- float std::atan (float __x)
- template<typename _Tp, typename _Up> __gnu_cxx::__promote_2< typename
  __gnu_cxx::__enable_if< __is_arithmetic<
  _Tp >::__value &&__is_arithmetic<
  _Up >::__value, _Tp >::__type,
  _Up >::__type std::atan2 (_Tp __y, _Up __x)
- long double std::atan2 (long double __y, long double __x)
- float std::atan2 (float __y, float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::ceil (_Tp __x)
- long double std::ceil (long double __x)
- float std::ceil (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::cos (_Tp __x)
- long double std::cos (long double __x)
- float std::cos (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::cosh (_Tp __x)
- long double std::cosh (long double __x)
- float std::cosh (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::exp (_Tp __x)
- long double std::exp (long double __x)
- float std::exp (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::fabs (_Tp __x)
- long double std::fabs (long double __x)
- float std::fabs (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::floor (_Tp __x)
- long double std::floor (long double __x)
- float std::floor (float __x)
- long double std::fmod (long double __x, long double __y)
- float std::fmod (float __x, float __y)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::frexp (_Tp __x, int *__exp)
- long double std::frexp (long double __x, int *__exp)
- float std::frexp (float __x, int *__exp)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::ldexp (_Tp __x, int __exp)
- long double std::ldexp (long double __x, int __exp)
- float std::ldexp (float __x, int __exp)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::log (_Tp __x)
- long double std::log (long double __x)
- float std::log (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::log10 (_Tp __x)
- long double std::log10 (long double __x)
- float std::log10 (float __x)
- long double std::modf (long double __x, long double *__iptr)
- float std::modf (float __x, float *__iptr)
- template<typename _Tp, typename _Up> __gnu_cxx::__promote_2< typename
  __gnu_cxx::__enable_if< __is_arithmetic<
  _Tp >::__value &&__is_arithmetic<
  _Up >::__value, _Tp >::__type,
  _Up >::__type std::pow (_Tp __x, _Up __y)
- long double std::pow (long double __x, int __n)
- float std::pow (float __x, int __n)
- double std::pow (double __x, int __i)
- long double std::pow (long double __x, long double __y)
- float std::pow (float __x, float __y)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::sin (_Tp __x)
- long double std::sin (long double __x)
- float std::sin (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::sinh (_Tp __x)
- long double std::sinh (long double __x)
- float std::sinh (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::sqrt (_Tp __x)
- long double std::sqrt (long double __x)
- float std::sqrt (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::tan (_Tp __x)
- long double std::tan (long double __x)
- float std::tan (float __x)
- template<typename _Tp> __gnu_cxx::__enable_if< __is_integer<
  _Tp >::__value, double
  >::__type std::tanh (_Tp __x)
- long double std::tanh (long double __x)
- float std::tanh (float __x)