This module provides implementation for various special functions
Required header:
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 of n ! ! 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 of n` 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. | |