HPlogo HP-UX Reference > E

exp(3M)

HP-UX 11i Version 2: December 2007 Update
» 

Technical documentation

 » Table of Contents

 » Index

NAME

exp(), expf(), expl(), expw(), expq() — exponential functions

SYNOPSIS

#include <math.h>

double exp(double x);

float expf(float x);

Itanium(R)-based System Only

long double expl(long double x);

extended expw(extended x);

quad expq(quad x);

DESCRIPTION

exp() returns ex.

expf() is a float version of exp(); it takes a float argument and returns a float result.

Itanium-based System Only

expl() is a long double version of exp(); it takes a long double argument and returns a long double result.

expw() is an extended version of exp(); it takes an extended argument and returns an extended result.

expq() is equivalent to expl() on HP-UX systems.

USAGE

To use these functions compile either with the default -Ae option or with the -Aa and the -D_HPUX_SOURCE options.

To use (for Itanium-based systems) expw() or expq(), compile also with the -fpwidetypes option.

To use any of these functions, make sure your program includes <math.h>, and link in the math library by specifying -lm on the compiler or linker command line.

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

PA-RISC Only

Millicode versions of the exp() functions are available. 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 +Olibcalls or the +Oaggressive optimization option.

For special cases, the millicode versions return the same values as their standard library counterparts (see the RETURN VALUE section), but do not set errno.

RETURN VALUE

exp(±0) returns 1.

If x is +INFINITY, exp() returns +INFINITY.

If x is -INFINITY, exp() returns +0.

If x is NaN, exp() returns NaN.

exp() returns infinity (equal to HUGE_VAL) in lieu of a value whose magnitude is too large, and raises the overflow and inexact exceptions.

exp() raises the underflow and inexact exceptions whenever a result is tiny (essentially denormal or zero) and thereby suffers loss of accuracy, and may raise those exceptions if the result is merely tiny.

When it raises no other exception, whether exp() raises the inexact exception is unspecified.

ERRORS

If the correct value would overflow, exp() sets errno to [ERANGE].

Itanium-based System Only

HP-UX libm functions on Itanium-based systems do not set errno by default. For errno setting, compile with the +Olibmerrno option.

STANDARDS CONFORMANCE

exp() : SVID3, XPG4.2, ANSI C, ISO/IEC C99 (including Annex F, ``IEC 60559 floating-point arithmetic'')

expf(), expl() : ISO/IEC C99 (including Annex F,``IEC 60559 floating-point arithmetic'')