Calculates the natural logarithm of a double precision floating-point value.
Include
<math.h>
Prototype
double log(double x);
Argument
x
Return Value
Returns the natural logarithm of x
. -inf
is returned if x
is 0 and NaN is returned if
x
is a negative number.
Remarks
A domain error occurs if x
≤ 0.
Example
#include <math.h>
#include <stdio.h>
#include <errno.h>
int main(void)
{
double x, y;
errno = 0;
x = 2.0;
y = log(x);
if (errno)
perror("Error");
printf("The natural logarithm of %f is %f\n",
x, y);
errno = 0;
x = 0.0;
y = log(x);
if (errno)
perror("Error");
printf("The natural logarithm of %f is %f\n",
x, y);
errno = 0;
x = -2.0;
y = log(x);
if (errno)
perror("Error");
printf("The natural logarithm of %f is %f\n",
x, y);
}
Example Output
The natural logarithm of 2.000000 is 0.693147
The natural logarithm of 0.000000 is -inf
Error: domain error
The natural logarithm of -2.000000 is nan