manpagez: man pages & more
man pow(3)
Home | html | info | man
pow(3)                   BSD Library Functions Manual                   pow(3)


NAME

     pow -- power function


SYNOPSIS

     #include <math.h>

     double
     pow(double x, double y);

     long double
     powl(long double x, long double y);

     float
     powf(float x, float y);


DESCRIPTION

     The pow() functions compute x raised to the power y.


SPECIAL VALUES

     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.


VECTOR OPERATIONS

     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);


SEE ALSO

     exp(3) math(3)


STANDARDS

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

4th Berkeley Distribution      December 11, 2006     4th Berkeley Distribution

Mac OS X 10.9.1 - Generated Wed Jan 8 20:44:39 CST 2014
© manpagez.com 2000-2024
Individual documents may contain additional copyright information.