POW(3) | Library Functions Manual | POW(3) |
pow
— power
function
#include
<math.h>
double
pow
(double
x, double y);
long double
powl
(long
double x, long double
y);
float
powf
(float
x, float y);
The
pow
()
functions compute x raised to the power
y.
pow
(±0,
y) returns ±infinity and raises the
"divide-by-zero" floating-point exception for y an odd integer
< 0.
pow
(±0,
y) returns +infinity and raises the
"divide-by-zero" floating-point exception for y < 0 and not an
odd integer.
pow
(±0,
y) returns ±0 for y an odd integer > 0.
pow
(±0,
y) returns +0 for y > 0 and not an odd integer.
pow
(-1,
±infinity) returns 1.
pow
(1,
y) returns 1 for any y, even a NaN.
pow
(x,
±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,
-infinity) returns +infinity for |x| < 1.
pow
(x,
-infinity) returns +0 for |x| > 1.
pow
(x,
+infinity) returns +0 for |x| < 1.
pow
(x,
+infinity) returns +infinity for |x| > 1.
pow
(-infinity,
y) returns -0 for y an odd integer < 0.
pow
(-infinity,
y) returns +0 for y < 0 and not an odd integer.
pow
(-infinity,
y) returns -infinity for y an odd integer > 0.
pow
(-infinity,
y) returns +infinity for y > 0 and not an odd
integer.
pow
(+infinity,
y) returns +0 for y < 0.
pow
(+infinity,
y) returns +infinity 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.
Range errors may occur.
If you need to apply the
pow
()
functions to SIMD vectors or arrays, using the following functions provided
by the Accelerate.framework may give significantly better performance:
#include
<Accelerate/Accelerate.h>
vFloat
vpowf
(vFloat
x, vFloat y);
vFloat
vpowf
(vFloat x,
vSInt32 y);
void
vvpowf
(float
*z, const float *y, const float
*x, const int *n);
void
vvpow
(double
*z, const double *y, const
double *x, const int *n);
void
vvpowsf
(float
*z, const float *y, const float
*x, const int *n);
void
vvpows
(double
*z, const double *y, const
double *x, const int *n);
The pow
() function conforms to ISO/IEC
9899:2011.
December 11, 2006 | BSD 4 |