Synopsis
#include <math.h>
double pow(double x, double y);
Description
pow computes x raised to the power y.
Fast math library behavior
If x < 0 and y <= 0, errno
is set to EDOM and pow returns -HUGE_VAL.
If x <= 0 and y is not an integer value,
errno is set to EDOM and pow
returns -HUGE_VAL.
IEC 60559 math library behavior
If y = 0, pow returns 1.
If y =1, pow returns x.
If y = NaN, pow returns NaN.
If x = NaN and y is anything other than 0,
pow returns NaN.
If x < -1 or 1 < x, and y
= +∞, pow returns +∞.
If x < -1 or 1 < x, and y
=-∞, pow returns 0.
If -1 < x < 1 and y = +∞, pow
returns +0.
If -1 < x < 1 and y = -∞, pow
returns +∞.
If x = +1 or x = -1 and y
= +∞ or y = -∞, pow returns NaN.
If x = +0 and y > 0 and y
<> NaN, pow returns +0.
If x = -0 and y > 0 and y
<> NaN or y not an odd integer, pow
returns +0.
If x = +0 and y <0 and y
<> NaN, pow returns +∞.
If x = -0 and y > 0 and y
<> NaN or y not an odd integer, pow
returns +∞.
If x = -0 and y is an odd integer, pow
returns -0.
If x = +∞ and y > 0 and y
<> NaN, pow returns +∞.
If x = +∞ and y < 0 and y
<> NaN, pow returns +0.
If x = -∞, pow returns pow(-0,
y)
If x < 0 and x <> ∞ and y
is a non-integer, pow returns NaN.
Portability
pow conforms to ISO/IEC 9899:1990 (C90) and ISO/IEC 9899:1999 (C99).