C++ log1p()

The log1p() function in C++ takes an argument x and returns the natural logarithm (base-e logarithm) of x+1.

The function is defined in <cmath> header file.

[Mathematics] loge(x+1) = log1p(x) [In C++ Programming]

log1p() prototype [As of C++ 11 standard]

double log1p (double x);
float log1p (float x);
long double log1p (long double x);
double log1p (T x); // For integral type

The log1p() function takes a single argument and returns a value of type double, float or long double.


log1p() Parameters

The log1p() function takes a single mandatory argument in the range [-1, ∞].

If the value is less than -1, log1p() returns Nan (Not a Number).


log1p() Return value

The log1p() function returns the natural logarithm of one plus the given argument.

log1p() return values
Parameter (x) Return Value
x > 0 Positive
x = 0 Zero
-1 > x > 0 Negative
x = -1 -∞ (- infinity)
x < -1 NaN (Not a number)

Example 1: How log1p() function works in C++?

#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
	double x = 21.371, result;

	result = log1p(x);
	cout << "log1p(x) = " << result << endl;

	return 0;
}

When you run the program, the output will be:

log1p(x) = 3.10777

Example 2: log1p() function with integral type

#include <iostream>
#include <cmath>

using namespace std;

int main ()
{
	double result;
	int x = 147;

	result = log1p(x);
	cout << "log1p(x) = " << result << endl;

	return 0;
}

When you run the program, the output will be:

log1p(x) = 4.99721