cpp/numeric/math/pow

@1-4@ Computes the value of raised to the power.

Return value
If no errors occur, raised to the power of  ($baseexp$), is returned.

If a domain error occurs, an implementation-defined value is returned (NaN where supported).

If a pole error or a range error due to overflow occurs, huge_val,, or is returned.

If a range error occurs due to underflow, the correct result (after rounding) is returned.

Error handling
Errors are reported as specified in math_errhandling.

If is finite and negative and  is finite and non-integer, a domain error occurs and a range error may occur.

If is zero and  is zero, a domain error may occur.

If is zero and  is negative, a domain error or a pole error may occur.

If the implementation supports IEEE floating-point arithmetic (IEC 60559),
 * , where is a negative odd integer, returns +∞ and raises fe_divbyzero
 * , where is a negative odd integer, returns -∞ and raises fe_divbyzero
 * , where is negative, finite, and is an even integer or a non-integer, returns +∞ and raises fe_divbyzero
 * returns +∞ and may raise fe_divbyzero
 * , where is a positive odd integer, returns +0
 * , where is a positive odd integer, returns -0
 * , where is positive non-integer or a positive even integer, returns +0
 * returns 1
 * returns 1 for any, even when is NaN
 * returns 1 for any, even when is NaN
 * returns NaN and raises fe_invalid if is finite and negative and  is finite and non-integer.
 * returns +∞ for any
 * returns +0 for any
 * returns +0 for any
 * returns +∞ for any
 * returns -0 if is a negative odd integer
 * returns +0 if is a negative non-integer or negative even integer
 * returns -∞ if is a positive odd integer
 * returns +∞ if is a positive non-integer or positive even integer
 * returns +0 for any negative
 * returns +∞ for any positive
 * except where specified above, if any argument is NaN, NaN is returned