# pow(3M)

## NAME

pow - power function

## SYNOPSIS

cc [ *flag* ... ] *file* ... -lm [ *library* ... ]
#include <math.h>
double pow(double *x*, double *y*);

## DESCRIPTION

The pow() function computes the value of *x* raised to the
power *y*, *x* ***y* . If *x* is negative, *y* must be an integer
value.

## RETURN VALUES

Upon successful completion, pow() returns the value of *x*
raised to the power *y*.
If *x* is 0 and *y* is 0, 1.0 is returned.
If *y* is NaN, or *y* is non-zero and *x* is NaN, NaN is returned.
If *y* is 0.0 and *x* is NaN, NaN is returned.
If *x* is 0.0 and *y* is negative, -HUGE_VAL is returned and
errno may be set to EDOM or ERANGE.
If the correct value would cause overflow, **_**HUGE_VAL is
returned, and errno is set to ERANGE.
If the correct value would cause underflow to 0, 0 is
returned and errno may be set to ERANGE.
For exceptional cases, **matherr(3M)** tabulates the values to
be returned as dictated by Standards other than XPG4.

## ERRORS

The pow() function will fail if:
EDOM The value of *x* is negative and *y* is non-integral.
ERANGE
The value to be returned would have caused overflow.
The pow() function may fail if:
EDOM The value of *x* is 0.0 and *y* is negative.
ERANGE
The correct value would cause underflow.

## USAGE

An application wishing to check for error situations should
set errno to 0 before calling pow(). If errno is non-zero on
return, or the return value is NaN, an error has occurred.

## ATTRIBUTES

See **attributes(5)** for descriptions of the following attri-
butes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________*|*_____________________________*|*
| MT-Level | MT-Safe |
|_____________________________*|*_____________________________*|*

## SEE ALSO

**exp(3M)**, **isnan(3M)**, **matherr(3M)**, **attributes(5)**, **standards(5)**

Man(1) output converted with
man2html