# FreeBSD Manual Pages

POW(3) Linux Programmer's Manual POW(3)NAMEpow, powf, powl - power functionsSYNOPSIS#include<math.h>doublepow(doublex,doubley);floatpowf(floatx,floaty);longdoublepowl(longdoublex,longdoubley);Link with-lm. Feature Test Macro Requirements for glibc (seefeature_test_macros(7)):powf(),powl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L; orcc-std=c99DESCRIPTIONThepow() function returns the value ofxraised to the power ofy.RETURN VALUEOn success, these functions return the value ofxto the power ofy. Ifxis a finite value less than 0, andyis a finite noninteger, a do- main error occurs, and a NaN is returned. If the result overflows, a range error occurs, and the functions returnHUGE_VAL,HUGE_VALF, orHUGE_VALL, respectively, with the mathemati- cally correct sign. If result underflows, and is not representable, a range error occurs, and 0.0 is returned. Except as specified below, ifxoryis a NaN, the result is a NaN. Ifxis +1, the result is 1.0 (even ifyis a NaN). Ifyis 0, the result is 1.0 (even ifxis a NaN). Ifxis +0 (-0), andyis an odd integer greater than 0, the result is +0 (-0). Ifxis 0, andygreater than 0 and not an odd integer, the result is +0. Ifxis -1, andyis positive infinity or negative infinity, the result is 1.0. If the absolute value ofxis less than 1, andyis negative infinity, the result is positive infinity. If the absolute value ofxis greater than 1, andyis negative infin- ity, the result is +0. If the absolute value ofxis less than 1, andyis positive infinity, the result is +0. If the absolute value ofxis greater than 1, andyis positive infin- ity, the result is positive infinity. Ifxis negative infinity, andyis an odd integer less than 0, the re- sult is -0. Ifxis negative infinity, andyless than 0 and not an odd integer, the result is +0. Ifxis negative infinity, andyis an odd integer greater than 0, the result is negative infinity. Ifxis negative infinity, andygreater than 0 and not an odd integer, the result is positive infinity. Ifxis positive infinity, andyless than 0, the result is +0. Ifxis positive infinity, andygreater than 0, the result is positive infinity. Ifxis +0 or -0, andyis an odd integer less than 0, a pole error oc- curs andHUGE_VAL,HUGE_VALF, orHUGE_VALL, is returned, with the same sign asx. Ifxis +0 or -0, andyis less than 0 and not an odd integer, a pole error occurs and +HUGE_VAL, +HUGE_VALF, or +HUGE_VALL, is returned.ERRORSSeemath_error(7) for information on how to determine whether an error has occurred when calling these functions. The following errors can occur: Domain error:xis negative, andyis a finite nonintegererrnois set toEDOM. An invalid floating-point exception (FE_INVALID) is raised. Pole error:xis zero, andyis negativeerrnois set toERANGE(but see BUGS). A divide-by-zero float- ing-point exception (FE_DIVBYZERO) is raised. Range error: the result overflowserrnois set toERANGE. An overflow floating-point exception (FE_OVERFLOW) is raised. Range error: the result underflowserrnois set toERANGE. An underflow floating-point exception (FE_UNDERFLOW) is raised.CONFORMING TOC99, POSIX.1-2001. The variant returningdoublealso conforms to SVr4, 4.3BSD, C89.BUGSIn glibc 2.9 and earlier, when a pole error occurs,errnois set toEDOMinstead of the POSIX-mandatedERANGE. Since version 2.10, glibc does the right thing. Ifxis negative, then large negative or positiveyvalues yield a NaN as the function result, witherrnoset toEDOM, and an invalid (FE_IN-VALID) floating-point exception. For example, withpow(), one sees this behavior when the absolute value ofyis greater than about 9.223373e18. In version 2.3.2 and earlier, when an overflow or underflow error oc- curs, glibc'spow() generates a bogus invalid floating-point exception (FE_INVALID) in addition to the overflow or underflow exception.SEE ALSOcbrt(3),cpow(3),sqrt(3)COLOPHONThis page is part of release 3.74 of the Linuxman-pagesproject. A description of the project, information about reporting bugs, and the latest version of this page, can be found at http://www.kernel.org/doc/man-pages/. 2010-09-12 POW(3)

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | CONFORMING TO | BUGS | SEE ALSO | COLOPHON

Want to link to this manual page? Use this URL:

<https://www.freebsd.org/cgi/man.cgi?query=pow&sektion=3&manpath=Debian+8.1.0>