Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ powf(3M) — HP-UX 10.20

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cbrt(3M)

exp(3M)

isinf(3M)

isnan(3M)

log(3M)

sqrt(3M)

values(5)

pow(3M)

NAME

pow(), powf() − power functions

SYNOPSIS

#include <math.h>

double pow(double x, double y);

float powf(float x, float y);

DESCRIPTION

The pow() function returns xy.  If x is zero, y must be positive.  If x is negative, y must be an integer. 

The powf() function is a float version of pow(); it takes a float argument and returns a float result.  To use this function, compile either with the −Ae option or with the −Aa and −D_HPUX_SOURCE options.  Otherwise, the compiler promotes the float argument to double, and the function returns incorrect results. 

powf() is not specified by any standard, but it is named in accordance with the conventions specified in the "Future Library Directions" section of the ANSI C standard. 

To use these functions, link in the math library by specifying −lm on the compiler or linker command line. 

RETURN VALUE

If x is greater than 1.0 and y is +INFINITY, pow() returns +INFINITY. 

If x is greater than 1.0 and y is −INFINITY, pow() returns zero. 

If x is between zero and 1.0 and y is −INFINITY, pow() returns +INFINITY. 

If x is between zero and 1.0 and y is +INFINITY, pow() returns zero. 

If x is +INFINITY and y is greater than zero, pow() returns +INFINITY. 

If x is +INFINITY and y is less than zero, pow() returns zero. 

If x is −INFINITY and y is an even integer greater than zero, pow() returns +INFINITY. 

If x is −INFINITY and y is an odd integer greater than zero, pow() returns −INFINITY. 

If x and y are both zero, pow() returns 1.0. 

If x or y is NaN, pow() returns NaN. 

If x is negative and y is ±INFINITY, pow() returns NaN. 

If the correct value after rounding would be smaller in magnitude than MINDOUBLE, pow() returns zero. 

If x is zero and y is negative, pow() returns −HUGE_VAL and sets errno to [EDOM]. 

If x is negative and y is not an integer, pow() returns NaN and sets errno to [EDOM]. 

If the correct value would overflow, pow() returns ±HUGE_VAL and sets errno to [ERANGE]. 

ERRORS

If pow() fails, errno is set to one of the following values. 

[EDOM] x is zero and y is negative. 

[EDOM] x is negative and y is not an integer. 

[ERANGE] The correct value would overflow. 

DEPENDENCIES

Millicode versions of the pow() function are available on PA1.1-based and PA2.0-based systems, in the library /usr/lib/milli.a.  Millicode versions of math library functions are usually faster than their counterparts in the standard library.  To use these versions, compile your program with the +DA1.1 option (the default on PA1.1-based systems) or the +DA2.0 option (the default on PA2.0-based systems) and with the +Olibcalls or the +Oaggressive optimization option. 

If an error occurs, the millicode versions return the value described in the RETURN VALUE section, but do not set errno. 

For more information, see the HP-UX Floating-Point Guide.

SEE ALSO

cbrt(3M), exp(3M), isinf(3M), isnan(3M), log(3M), sqrt(3M), values(5). 

STANDARDS CONFORMANCE

pow(): SVID3, XPG4.2, ANSI C

Hewlett-Packard Company  —  HP-UX Release 10.20:  July 1996

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026