power function

You're viewing an older version of this page (#4012). View the current version.

View versions (4)

INTERFACE

#include <math.h>
double pow ( double x, double y )
long powl ( long double x, long double y )
float powf ( float x, float y )

#include <complex.h>
double complex cpow(double complex x, complex double y)
float complex cpowf(float complex x, complex float y)
long double complex cpowl(long double complex x, complex long double y)

DESCRIPTION

The pow functions compute x raised to the power of y, i.e.

\mathrm{pow}(x,y) = x^y
(1)
Example 1
Workings

\code #include <math.h> #include <stdio.h> int main(void) { for(int i = 1; i < 5; i++) printf("pow(3.2, %d) = %lf
", i, pow(3.2, i)); return 0; } \endcode

Solution

Output:

pow(3.2, 1) = 3.200000
pow(3.2, 2) = 10.240000
pow(3.2, 3) = 32.768000
pow(3.2, 4) = 104.857600

SPECIAL VALUES

pow ( &plusmn;0, y ) returns &plusmn;&infin; and raises the divide-by-zero floating-point exception for y an odd integer.

pow ( &plusmn;0, y ) returns +&infin; and raises the divide-by-zero floating-point exception for y < 0 and not an odd integer.

pow ( &plusmn;0, y ) returns &plusmn;0 for y an odd integer > 0.

pow ( &plusmn;0, y ) returns +0 for y > 0 and not an odd integer.

pow ( -1, &plusmn;&infin; ) returns 1.

pow ( 1, y ) returns 1 for any y, even a NaN.

pow ( x, &plusmn;0 ) returns 1 for any x, even a NaN.

pow ( x, y ) returns a NaN and raises the invalid floating-point exception for finite x < 0 and finite non-integer y.

pow ( x, -&infin; ) returns +&infin; for |x| < 1.

pow ( x, -&infin; ) returns +0 for |x| > 1.

pow ( x, +&infin; ) returns +0 for |x| < 1.

pow ( x, +&infin; ) returns +&infin; for |x| > 1.

pow ( -&infin;, y ) returns -0 for y an odd integer < 0.

pow ( -&infin;, y ) returns +0 for y < 0 and not an odd integer.

pow ( -&infin;, y ) returns -&infin; for y an odd integer > 0.

pow ( -&infin;, y ) returns +&infin; for y > 0 and not an odd integer.

pow ( +&infin;, y ) returns +0 for y < 0.

pow ( +&infin;, y ) returns +&infin; for y > 0.

A domain error occurs if x is finite and negative and y is finite and not an integer.

A domain error can occur if x is 0 and y less than or equal to 0.

SEE ALSO

exp, log

STANDARDS

The pow function conforms to ISO/IEC 9899:1999(E).