C++ expm1()

The expm1() function in C++ returns the exponential (Euler's number) e raised to the given argument minus 1.

The function is defined in <cmath> header file.

[Mathematics] ex - 1 = expm1(x) [C++ Programming]

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

double expm1(double x);
float expm1(float x);
long double expm1(long double x); 
double expm1(T x); // Here T is an integral type.

expm1() Parameters

The expm1() function takes a single mandatory argument (can be positive, negative or 0).


expm1() Return Value

The expm1() function returns the value in the range of [-1, ∞].

If the magnitude of the result is too large to be represented by a value of the return type, the function returns HUGE_VAL with the proper sign, and an overflow range error occurs.


Example 1: How expm1() works?

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	double x = 2.19, result;
	result = expm1(x);
	
	cout << "e^" << x << " - 1 = " << result << endl;
	
	return 0;
}

When you run the program, the output will be:

e^2.19 - 1 = 7.93521

Example 2: expm1() With Integral Type

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
	int x = 4;
	double result;
	
	result = expm1(x);
	cout << "e^" << x << " - 1 = " << result << endl;
	
	return 0;
}

When you run the program, the output will be:

e^4 - 1 = 53.5982