# log(3) - NetBSD Manual Pages

```LOG(3)                  NetBSD Library Functions Manual                 LOG(3)

NAME
log, logf, logl, log10, log10f, log10l, log1p, log1pf, log1pl, log2,
log2f log2l -- logarithm functions

LIBRARY
Math Library (libm, -lm)

SYNOPSIS
#include <math.h>

double
log(double x);

float
logf(float x);

long double
logl(long double x);

double
log10(double x);

float
log10f(float x);

log double
log10l(long double x);

double
log1p(double x);

float
log1pf(float x);

long double
log1pl(long double x);

double
log2(double x);

float
log2f(float x);

long double
log2l(long double x);

DESCRIPTION
The following functions compute logarithms:

·   The log(), logf() and logl() functions return the natural loga-
rithm.

·   The log10(), log10f() and log10l() functions return the base 10
logarithm.

·   The log1p(), log1pf() and log1pl() functions return the natural
logarithm of (1.0 + x) accurately even for very small values of x.

·   The log2(), log2f() and log2l() functions return the base 2 loga-
rithm.

RETURN VALUES
Upon successful completion, the functions return the logarithm of x as
described above.  Otherwise the following may occur:

1.   If x is NaN, all functions return NaN.

2.   If x is positive infinity, all functions return x.  If x is
negative infinity, all functions return NaN.

3.   If x is +0.0 or -0.0, the log(), log10(), and log2() families
return either -HUGE_VAL, -HUGE_VALF, or -HUGE_VALL, whereas
the log1p() family returns x.

4.   If x is +1.0, the log(), log10(), and log2() families return
+0.0.  If x is -1.0, the log1p() family returns -HUGE_VAL,
-HUGE_VALF, or -HUGE_VALL.

In addition, on a VAX, errno is set to EDOM and the reserved operand is
returned by log() unless x > 0, by log1p() unless x > -1.