log2(3M) Mathematical Library Functions log2(3M)NAME
log2, log2f, log2l - compute base 2 logarithm functions
SYNOPSIS
c99 [ flag... ] file... -lm [ library... ]
#include <math.h>
double log2(double x);
float log2f(float x);
long double log2l(long double x);
DESCRIPTION
These functions compute the base 2 logarithm of their argument x,
log2(x).
RETURN VALUES
Upon successful completion, these functions return the base 2 logarithm
of x.
If x is ±0, a pole error occurs and log2(), log2f(), and log2l() return
−HUGE_VAL, −HUGE_VALF, and −HUGE_VALL, respectively.
For finite values of x that are less than 0, or if x is −Inf a domain
error occurs and a NaN is returned.
If x is NaN, a NaN is returned.
If x is 1, +0 is returned.
If x is +Inf, x is returned.
ERRORS
These functions will fail if:
Domain Error The finite value of x is less than 0, or x is −Inf.
If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, then the invalid floating-
point exception is raised.
Pole Error The value of x is 0.
If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, then the divide-by-zero
floating-point exception is raised.
USAGE
An application wanting to check for exceptions should call feclearex‐
cept(FE_ALL_EXCEPT) before calling these functions. On return, if
fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) is
non-zero, an exception has been raised. An application should either
examine the return value or check the floating point exception flags to
detect exceptions.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Committed │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
├─────────────────────────────┼─────────────────────────────┤
│Standard │See standards(5). │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOfeclearexcept(3M), fetestexcept(3M), log(3M), math.h(3HEAD),
attributes(5), standards(5)SunOS 5.11 12 Jul 2006 log2(3M)