E.V.E
v2023.02.15
 
Loading...
Searching...
No Matches
Special functions

Detailed Description

This module provides implementation for various special functions

Required header:

#include <eve/module/special.hpp>

Variables

constexpr auto eve::beta = functor<beta_t>
 elementwise_callable object computing the beta function: \(\displaystyle \mathbf{B}(x, y) = \frac{\Gamma(x)\Gamma(y)}{\Gamma(x+y)}\).
 
constexpr auto eve::betainc = functor<betainc_t>
 Computes the betainc incomplete function. \(\displaystyle \mbox{I}_s(x,y) = \frac{1}{\mbox{B}(x,y)}\int_0^s t^{x-1}(1-t)^{y-1}\mbox{d}t\).
 
constexpr auto eve::betainc_inv = functor<betainc_inv_t>
 elementwise_callable object computing the inverse relative to the first parameter of the beta incomplete function.
 
constexpr auto eve::dawson = functor<dawson_t>
 elementwise_callable object computing the Dawson function: \(\displaystyle D_+(x)=e^{-x^2}\int_0^{x} e^{t^2} \mbox{d}t\)
 
constexpr auto eve::digamma = functor<digamma_t>
 elementwise_callable object computing the Digamma function i.e. the logarithmic derivative of the \(\Gamma\) function.
 
constexpr auto eve::double_factorial = functor<double_factorial_t>
 elementwise_callableobject computing the double factorial ofn ! ! THe double factorial is defined as \f$\displaystyle (2n)!! = //! \prod_{i=1}^n (2i)\f$ and \f$\displaystyle (2n+1)!! = \prod_{i=0}^n (2i+1)\f$ ! ! @groupheader{Header file} ! ! @code //! #include <eve/module/special.hpp> //! @endcode ! ! @groupheader{Callable Signatures} ! ! @code //! namespace eve //! { //! // Regular overload //! template <unsigned_value T> constexpr as_wide_as_t<double,T> double_factorial(T x) noexcept; // 1 //! //! // Lanes masking //! constexpr auto double_factorial[conditional_expr auto c](unsigned_value auto x) noexcept; // 2 //! constexpr auto double_factorial[logical_value auto m](unsigned_value auto x) noexcept; // 2 //! } //! @endcode ! ! **Parameters** ! ! *n: unsigned argument. ! *c: [Conditional expression](@ref eve::conditional_expr) masking the operation. ! *m: [Logical value](@ref eve::logical_value) masking the operation. ! ! **Return value** ! ! 1. The value of the double factorial ofn` is returned.
 
constexpr auto eve::erf = functor<erf_t>
 elementwise_callable object computing the error function: \( \displaystyle \mbox{erf}(x)=\frac{2}{\sqrt\pi}\int_0^{x} e^{-t^2}\mbox{d}t\).
 
constexpr auto eve::erf_inv = functor<erf_inv_t>
 elementwise_callable object computing the inverse of the error function.
 
constexpr auto eve::erfc = functor<erfc_t>
 elementwise_callable object computing the complementary error function \( \displaystyle \mbox{erf}(x)=1-\frac{2}{\sqrt\pi}\int_0^{x} e^{-t^2}\mbox{d}t\)
 
constexpr auto eve::erfc_inv = functor<erfc_inv_t>
 Computes the inverse of the complementary error function.
 
constexpr auto eve::erfcx = functor<erfcx_t>
 Computes the normalized complementary error function \( \displaystyle \mbox{erfcx}(x) = e^{x^2} \mbox{erfc}(x)\).
 
constexpr auto eve::exp_int = functor<exp_int_t>
 elementwise_callable object computing the exponential integral \( \mathbf{E}_n(x) = \displaystyle \int_1^\infty \frac{e^{-xt}}{t^n}\;\mbox{d}t\).
 
constexpr auto eve::factorial = functor<factorial_t>
 elementwise_callable computing \(\displaystyle n! = \prod_{i=1}^n i\).
 
constexpr auto eve::gamma_p = functor<gamma_p_t>
 elementwise_callable object computing the normalized lower incomplete \(\Gamma\) function.
 
constexpr auto eve::gamma_p_inv = functor<gamma_p_inv_t>
 elementwise_callable object computing the inverse of the normalized lower incomplete \(\Gamma\) function.
 
constexpr auto eve::lambert = functor<lambert_t>
 Computes the inverse of the function \( x \rightarrow xe^x \).
 
constexpr auto eve::lbeta = functor<lbeta_t>
 elementwise_callable object computing the natural logarithm of the beta function.
 
constexpr auto eve::lfactorial = functor<lfactorial_t>
 elementwise_callable object computing the natural logarithm of the factorial of unsigned integer values \(\displaystyle \log n! = \sum_{i=1}^n \log i\).
 
constexpr auto eve::log_abs_gamma = functor<log_abs_gamma_t>
 elementwise_callable object computing the natural logarithm of the absolute value of the \(\Gamma\) function.
 
constexpr auto eve::log_gamma = functor<log_gamma_t>
 elementwise_callable object computing the natural logarithm of the \(\Gamma\) function.
 
constexpr auto eve::lrising_factorial = functor<lrising_factorial_t>
 elementwise_callable object computing the natural logarithm of the rising Factorial function i.e. \(\log\left(\frac{\Gamma(x+a)}{\Gamma(x)}\right)\).
 
constexpr auto eve::omega = functor<omega_t>
 Computes the Wright \(\omega\) the inverse function of \( x \rightarrow \log x+x\).
 
constexpr auto eve::rising_factorial = functor<rising_factorial_t>
 elementwise_callable object computing the rising Factorial function i.e. \(\frac{\Gamma(x+a)}{\Gamma(x)}\).
 
constexpr auto eve::signgam = functor<signgam_t>
 elementwise_callable object computing the sign of the \(\Gamma\) function.
 
constexpr auto eve::stirling = functor<stirling_t>
 elementwise_callable object computing the Stirling approximation of the \(\Gamma\) function.
 
constexpr auto eve::tgamma = functor<tgamma_t>
 elementwise_callable object computing \(\displaystyle \Gamma(x)=\int_0^\infty t^{x-1}e^{-t}\mbox{d}t\).
 
constexpr auto eve::zeta = functor<zeta_t>
 Computes the Riemann \(\zeta\) function.