Content-type: text/html Man page of exp


Section: C Library Functions (3)
Index Return to Main Contents


exp, expm1, log, log2, log10, log1p, pow - Exponential, logarithm, and power functions  


Math Library (libm.a)  


#include <math.h>

double exp (double x); float expf (float x); double expm1 (double x); float expm1f (float x); double log (double x); float logf (float x); double log2 (double x); float log2f (float x); double log10 (double x); float log10f (float x); double log1p (double y); float log1pf (float y); double pow (double x, double y); float powf (float x, float y);  


Interfaces documented on this reference page conform to industry standards as follows:

exp(): XPG4

expm1(): XPG4-UNIX

log(): XPG4

log10(): XPG4

log1p(): XPG4-UNIX

pow(): XPG4

Refer to the standards(5) reference page for more information about industry standards and associated tags.  


The exp() and expf() functions compute the value of the exponential function, defined as e**x, where e is the constant used as a base for natural logarithms.

The expm1() and expm1f() functions compute exp(x) - 1 accurately, even for tiny x.

The log() and logf() functions compute the natural (base e) logarithm of x.

The log2() and log2f() functions compute the base 2 logarithm of x.

The log10() and log10f() functions compute the common (base 10) logarithm of x.

The log1p() and log1pf() functions compute log(1+y) accurately, even for tiny y.

The pow() and powf() functions raise a floating-point base x to a floating-point exponent y. The value of pow(x,y) is computed as e**(y ln(x)) for positive x. If x is 0 or negative, see your language reference manual.

Passing a NaN input value to pow() produces a NaN result for y not equal to 0. For pow(NaN,0), see your language reference manual.

The following table describes function behavior in response to exceptional arguments:

FunctionExceptional ArgumentRoutine Behavior

exp(), expf()x > ln(max_float)Overflow
exp(), expf()x < ln(min_float)Underflow
expm1(), expm1f()x > ln(max_float)Overflow
expm1(), expm1f()x < ln(min_float)Underflow
log(), logf()x < 0Invalid argument
log(), logf()x = 0Overflow
log2(), log2f()x < 0Invalid argument
log2(), logf2()x = 0Overflow
log10(), log10f()x < 0Invalid argument
log10(), log10f()x = 0Overflow
log1p(), log1pf()1+y < 0Invalid argument
log1p(), log1pf()1+y = 0Overflow
pow(), powf()y ln(x) > ln(max_float)Overflow
pow(), powf()y ln(x) < ln(min_float)Underflow

The following table lists boundary values used by these functions:

ValueDataHexadecimal ValueDecimal Value

ln(max_float) S_FLOAT 42B17218 88.7228391

T_FLOAT 40862E42FEFA39EF 709.7827128933840
ln(min_float) S_FLOAT C2CE8ED0 -103.2789

T_FLOAT C0874385446D71C3 -744.4400719213813

delim off




This document was created by man2html, using the manual pages.
Time: 02:42:30 GMT, October 02, 2010