HP-UX Reference (11i v2 03/08) - 3 Library Functions A-M (vol 6)

l
log(3M) log(3M)
NAME
log( ), logf( ), logl(), logw( ), logq( ) - natural logarithm functions
SYNOPSIS
#include <math.h>
double log(double x);
float logf(float x);
Itanium(R)-based System Only
long double logl(long double x);
extended logw(extended x);
quad logq(quad x);
DESCRIPTION
log() returns the natural logarithm of x.
logf() is a float version of log(); it takes a
float argument and returns a float result.
Itanium-based System Only
logl() is a long double version of log(); it takes a long double argument and returns a
long double result.
logw() is an extended version of log(); it takes an extended argument and returns an
extended result.
logq() is equivalent to logl() 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)
logw() or logq(), 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 log() and logf() functions are available. Millicode versions of math library
functions are usually faster than their counterparts in the standard library. To use these versions, com-
pile your program with the +Olibcalls or the +Oaggressive optimization option.
For special cases, the millicode versions return the value described in the RETURN VALUE section, but
do not set
errno.
RETURN VALUE
If x is +INFINITY,
log() returns +INFINITY.
If x is zero,
log() returns HUGE_VAL (equal to INFINITY) and raises the divide-by-zero exception.
If x is less than zero,
log() returns NaN and raises the invalid exception.
If x is NaN,
log() returns NaN.
When it raises no other exception, whether
log() raises the inexact exception is unspecified.
ERRORS
If x is less than zero,
log() sets errno to [EDOM].
Itanium-bsed System Only
HP-UX
libm functions on Itanium-based systems do not set errno by default. For errno setting, com-
pile with the +Olibmerrno option.
SEE ALSO
clog(3M), exp(3M), log10(3M), log2(3M), log1p(3M), pow(3M), math(5).
HP-UX 11i Version 2: August 2003 1 Hewlett-Packard Company Section 3581