log
logarithm functions
You're viewing an older version of this page (#3261). View the current version.
NAME
log, log2, log10, log1p
INTERFACE
#include <math.h>
double log ( double x ) long logl ( long double x ) float logf ( float x ) double log2 ( double x ) long log2l ( long double x ) float log2f ( float x ) double log10 ( double x ) long log10l ( long double x ) float log10f ( float x ) double log1p ( double x ) long log1pl ( long double x ) float log1pf ( float x )
DESCRIPTION
The log function computes the value of the natural logarithm of argument x.
The log2 function computes the value of the logarithm of argument x to base 2.
The log10 function computes the value of the logarithm of argument x to base 10.
The log1p function computes the value of log(1+x) accurately even for very small values of x.
Example 1
#include <math.h>
#include <stdio.h>
int main()
{
printf("\n x \t log \t log2 \t log10 \t log1p");
for(double x=0; x<=10; x+=0.5)
printf("\n%lf\t%lf\t%lf\t%lf\t%lf",x,log(x),log2(x),log10(x),log1p(x));
return 0;
}Output
x log log2 log10 log1p
0.000000 -inf -inf -inf 0.000000
0.500000 -0.693147 -1.000000 -0.301030 0.405465
1.000000 0.000000 0.000000 0.000000 0.693147
1.500000 0.405465 0.584963 0.176091 0.916291
2.000000 0.693147 1.000000 0.301030 1.098612
2.500000 0.916291 1.321928 0.397940 1.252763
3.000000 1.098612 1.584963 0.477121 1.386294
3.500000 1.252763 1.807355 0.544068 1.504077
4.000000 1.386294 2.000000 0.602060 1.609438
4.500000 1.504077 2.169925 0.653213 1.704748
5.000000 1.609438 2.321928 0.698970 1.791759
5.500000 1.704748 2.459432 0.740363 1.871802
6.000000 1.791759 2.584963 0.778151 1.945910
6.500000 1.871802 2.700440 0.812913 2.014903
7.000000 1.945910 2.807355 0.845098 2.079442
7.500000 2.014903 2.906891 0.875061 2.140066
8.000000 2.079442 3.000000 0.903090 2.197225
8.500000 2.140066 3.087463 0.929419 2.251292
9.000000 2.197225 3.169925 0.954243 2.302585
9.500000 2.251292 3.247928 0.977724 2.351375
10.000000 2.302585 3.321928 1.000000 2.397895SPECIAL VALUES
log ( ±0 ), log2 ( ±0 ), and log10 ( ±0 ) return -infinity and raise the divide-by-zero floating-point exception.
log ( 1 ), log2 ( 1 ), and log10 ( 1 ) return +0.
log ( x ), log2 (x ), and log10 ( x ) return a NaN and raise the invalid floating-point exception for x < 0.
log ( +infinity ), log2 ( +infinity ), and log10 ( +infinity ) return +infinity.
log1p ( ±0 ) returns ±0.
log1p ( -1 ) returns -infinity and raises the divide-by-zero floating-point exception.
log1p ( x ) returns a NaN and raises the invalid floating-point exception for x < -1.
log1p ( +infinity ) returns +infinity.
SEE ALSO
exp (3) , reference:exp2 (3) , reference:expm1 (3) , pow (3)
STANDARDS
The log , log2 , log10 , and log1p functions conform to ISO/IEC 9899:1999(E).