std::pow

From cppreference.com
< cpp‎ | numeric‎ | math
 
 
 
Common mathematical functions
Functions
Basic operations
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Exponential functions
(C++11)
(C++11)
(C++11)
(C++11)
Power functions
(C++11)
(C++11)
pow
Trigonometric and hyperbolic functions
(C++11)
(C++11)
(C++11)
Error and gamma functions
(C++11)
(C++11)
(C++11)
(C++11)
Nearest integer floating point operations
(C++11)(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)(C++11)
Floating point manipulation functions
(C++11)(C++11)
(C++11)
(C++11)
(C++11)(C++11)
(C++11)
Classification/Comparison
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
(C++11)
Macro constants
(C++11)(C++11)(C++11)(C++11)(C++11)
 
Defined in header <cmath>
float       pow( float base, float exp );
(1)
double      pow( double base, double exp );
(2)
long double pow( long double base, long double exp );
(3)
float       pow( float base, int iexp );
(4) (until C++11)
double      pow( double base, int iexp );
(5) (until C++11)
long double pow( long double base, int iexp );
(6) (until C++11)
Promoted    pow( Arithmetic1 base, Arithmetic2 exp );
(7) (since C++11)

Computes the value of base raised to the power exp or iexp.

7) A set of overloads or a function template for all combinations of arguments of arithmetic type not covered by 1-3). If any argument has integral type, it is cast to double. If any argument is long double, then the return type Promoted is also long double, otherwise the return type is always double.

Contents

[edit] Parameters

base - base as a value of floating-point or integral type
exp - exponent as a value of floating-point or integral type
iexp - exponent as integer value

[edit] Return value

base raised by power (exp or iexp).

Domain error occurs if base is 0 and exp is less than or equal to 0. NAN is returned in that case.

Domain error occurs if base is negative and exp is not an integer value. NAN is returned in that case.

Range error occurs if an overflow takes place. HUGEVAL is returned in that case.

If domain error occurs and math_errhandling & MATH_ERRNO is nonzero, errno is set to EDOM.

If domain error occurs and math_errhandling & MATH_ERREXCEPT is nonzero, FE_INVALID raised.

If range error occurs and math_errhandling & MATH_ERRNO is nonzero, errno is set to ERANGE.

If range error occurs and math_errhandling & MATH_ERREXCEPT is nonzero, FE_OVERFLOW is raised.

(since C++11)

[edit] Notes

pow(float, int) returns float until C++11 (per overload 4) but returns double since C++11 (per overload 7)

[edit] See also

returns e raised to the given power (ex)
(function)
computes natural (base e) logarithm (to base e) (ln(x))
(function)
computes square root (x)
(function)
(C++11)
computes cubic root (3x)
(function)
complex power, one or both arguments may be a complex number
(function template)
applies the function std::pow to two valarrays or a valarray and a value
(function template)
C documentation for pow