E.V.E
v2022.03.00

◆ exp_int

eve::exp_int = {}
inlineconstexpr

Computes the exponential integral \( \mathbf{E}_n(x) = \displaystyle \int_1^\infty \frac{e^{-xt}}{t^n}\;\mbox{d}t\).

Defined in header

#include <eve/module/special.hpp>

Callable Signatures

namespace eve
{
template< eve::unsigned_value N, eve::floating_real_value T >
T exp_int(N n, T x) noexcept;
}
constexpr callable_exp_int_ exp_int
Computes the exponential integral .
Definition: exp_int.hpp:52
Definition: all_of.hpp:22

Parameters

Return value

The value of the exponential integral is returned.

Example

#include <eve/module/special.hpp>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
wide_ft pf = {0.5, 1.5, 0.1, 1.0, 19.0, 25.0, 21.5, 10000.0};
wide_ft n = {0, 1, 5, -2, 10, 6000, 0, 1.5};
std::cout << "---- simd" << '\n'
<< "<- pf = " << pf << '\n'
<< "<- n = " << n << '\n'
<< "-> exp_int(n, pf) = " << eve::exp_int(n, pf) << '\n'
<< "-> exp_int(pf) = " << eve::exp_int(pf) << '\n'
;
float xd = 0.5f;
std::cout << "---- scalar" << '\n'
<< "<- xd = " << xd << '\n'
<< "-> exp_int(1, xd) = " << eve::exp_int(1, xd) << '\n'
<< "-> exp_int(xd) = " << eve::exp_int(xd) << '\n';
return 0;
}
Wrapper for SIMD registers.
Definition: wide.hpp:65