E.V.E
v2023.02.15

◆ gamma_p_inv

eve::gamma_p_inv = {}
inlineconstexpr

Computes the inverse of the normalized lower incomplete \(\Gamma\) function.

Defined in header

#include <eve/module/special.hpp>

Callable Signatures

namespace eve
{
template< eve::floating_ordered_value T, eve::floating_ordered_value U >
eve:common_value_t<T,U> gamma_p_inv(T x, U y) noexcept;
}
constexpr callable_gamma_p_inv_ gamma_p_inv
Computes the inverse of the normalized lower incomplete function.
Definition: gamma_p_inv.hpp:52
Definition: abi.hpp:18
typename eve::detail::common_value_impl< void, Ts... >::type common_value_t
Computes the SIMD-compatible common type between all Ts.
Definition: common_value.hpp:50

Parameters

Return value

The value of the inverse of the normalized lower incomplete \(\Gamma\) function relative to the first parameter is returned as : \(\displaystyle \frac{1}{\Gamma(x)}\int_0^{y} t^{x-1}e^{-t}\mbox{d}t\)

Example

#include <eve/module/special.hpp>
#include <iomanip>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
wide_ft k = {1.0e-3f, 0.3f, 0.75f, 5.5f};
wide_ft p = {10.0f, 0.5f, 20.7f, 1.0f};
std::cout << "---- simd" << '\n'
<< "<- p = " << p << '\n'
<< "<- k = " << k << '\n'
<< "-> gamma_p(p, k) = " << eve::gamma_p(p, k) << '\n'
;
float kf = 2.1;
float pf = 1.3;
std::cout << "---- scalar" << '\n'
<< "<- kf = " << kf << '\n'
<< "<- pf = " << pf<< '\n'
<< "-> gamma_p(pf, kf) = " << eve::gamma_p(pf, kf) << '\n';
return 0;
}
constexpr callable_gamma_p_ gamma_p
Computes the normalized lower incomplete function.
Definition: gamma_p.hpp:50
Wrapper for SIMD registers.
Definition: wide.hpp:65