/* Void Main's man pages */

{ phpMan } else { main(); }

Command: man perldoc info search(apropos)  


POW(3P)                                             POSIX Programmer's Manual                                            POW(3P)



PROLOG
       This  manual  page is part of the POSIX Programmer's Manual.  The Linux implementation of this interface may differ (con-
       sult the corresponding Linux manual page for details of Linux behavior), or the  interface  may  not  be  implemented  on
       Linux.

NAME
       pow, powf, powl - power function

SYNOPSIS
       #include <math.h>

       double pow(double x, double y);
       float powf(float x, float y);
       long double powl(long double x, long double y);


DESCRIPTION
       These  functions shall compute the value of x raised to the power y, x**y. If x is negative, the application shall ensure
       that y is an integer value.

       An application wishing to check for error situations should set  errno  to  zero  and  call  feclearexcept(FE_ALL_EXCEPT)
       before  calling these functions.  On return, if errno is non-zero or fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW
       | FE_UNDERFLOW) is non-zero, an error has occurred.

RETURN VALUE
       Upon successful completion, these functions shall return the value of x raised to the power y.

       For finite values of x < 0, and finite non-integer values of y, a domain error shall occur and  either a NaN  (if  repre-
       sentable), or  an implementation-defined value shall be returned.

       If  the  correct  value  would  cause  overflow,  a  range  error  shall occur and pow(), powf(), and powl() shall return
       +-HUGE_VAL, +-HUGE_VALF, and +-HUGE_VALL, respectively, with the same sign as the correct value of the function.

       If the correct value would cause underflow, and is not representable, a range error may occur, and  either 0.0  (if  sup-
       ported), or an implementation-defined value shall be returned.

       If x or y is a NaN, a NaN shall be returned (unless specified elsewhere in this description).

       For any value of y (including NaN), if x is +1, 1.0 shall be returned.

       For any value of x (including NaN), if y is +-0, 1.0 shall be returned.

       For any odd integer value of y > 0, if x is +-0, +-0 shall be returned.

       For y > 0 and not an odd integer, if x is +-0, +0 shall be returned.

       If x is -1, and y is +-Inf, 1.0 shall be returned.

       For |x| < 1, if y is -Inf, +Inf shall be returned.

       For |x| > 1, if y is -Inf, +0 shall be returned.

       For |x| < 1, if y is +Inf, +0 shall be returned.

       For |x| > 1, if y is +Inf, +Inf shall be returned.

       For y an odd integer < 0, if x is -Inf, -0 shall be returned.

       For y < 0 and not an odd integer, if x is -Inf, +0 shall be returned.

       For y an odd integer > 0, if x is -Inf, -Inf shall be returned.

       For y > 0 and not an odd integer, if x is -Inf, +Inf shall be returned.

       For y < 0, if x is +Inf, +0 shall be returned.

       For y > 0, if x is +Inf, +Inf shall be returned.

       For  y  an  odd  integer < 0, if x is +-0, a pole error shall occur and +-HUGE_VAL, +-HUGE_VALF, and +-HUGE_VALL shall be
       returned for pow(), powf(), and powl(), respectively.

       For y < 0 and not an odd integer, if x is +-0, a pole error shall occur and HUGE_VAL, HUGE_VALF, and HUGE_VALL  shall  be
       returned for pow(), powf(), and powl(), respectively.

       If  the correct value would cause underflow, and is representable, a range error may occur and the correct value shall be
       returned.

ERRORS
       These functions shall fail if:

       Domain Error
              The value of x is negative and y is a finite non-integer.

       If the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then errno shall be set to [EDOM]. If the  integer
       expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the invalid floating-point exception shall be raised.

       Pole Error
              The value of x is zero and y is negative.

       If  the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then errno shall be set to [ERANGE]. If the inte-
       ger expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the divide-by-zero floating-point exception shall be
       raised.

       Range Error
              The result overflows.

       If  the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then errno shall be set to [ERANGE]. If the inte-
       ger expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then  the  overflow  floating-point  exception  shall  be
       raised.


       These functions may fail if:

       Range Error
              The result underflows.

       If  the integer expression (math_errhandling & MATH_ERRNO) is non-zero, then errno shall be set to [ERANGE]. If the inte-
       ger expression (math_errhandling & MATH_ERREXCEPT) is non-zero, then the  underflow  floating-point  exception  shall  be
       raised.


       The following sections are informative.

EXAMPLES
       None.

APPLICATION USAGE
       On error, the expressions (math_errhandling & MATH_ERRNO) and (math_errhandling & MATH_ERREXCEPT) are independent of each
       other, but at least one of them must be non-zero.

RATIONALE
       None.

FUTURE DIRECTIONS
       None.

SEE ALSO
       exp(), feclearexcept(), fetestexcept(), isnan(), the Base  Definitions  volume  of  IEEE Std 1003.1-2001,  Section  4.18,
       Treatment of Error Conditions for Mathematical Functions, <math.h>

COPYRIGHT
       Portions  of  this  text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for
       Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6,  Copy-
       right (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any
       discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open  Group
       Standard   is   the   referee   document.   The   original   Standard   can   be   obtained  online  at  http://www.open-
       group.org/unix/online.html .



IEEE/The Open Group                                           2003                                                       POW(3P)

Valid XHTML 1.0!Valid CSS!