|
Graph Framework
|
Implimentations for special functions. More...
#include <iostream>#include <complex>#include <cfloat>#include <cmath>#include <cstdint>#include <limits>Go to the source code of this file.
Namespaces | |
| namespace | special |
| Name space for special functions. | |
Typedefs | |
| template<typename T > | |
| using | complex_type = std::complex< T > |
| Type alias for complex types. | |
Functions | |
| template<typename T > | |
| constexpr complex_type< T > | special::i (static_cast< T >(0), static_cast< T >(1)) |
| I constant. | |
| template<typename T > | |
| complex_type< T > | special::erfcx (complex_type< T > z) |
| Compute erfcx(z) = exp(z^2)*erfz(z) | |
| template<typename T > | |
| T | special::sq (T x) |
| x^2 | |
| template<typename T > | |
| T | special::w_im_y100 (T x) |
| Compute a scaled Dawson integral. | |
| template<typename T > | |
| T | special::isqpi () |
| Define 1.0/sqrt(pi) | |
| template<typename T > | |
| T | special::w_im (T x) |
| Compute specal case of w(z) = exp(z^2)*erfz(z). | |
| template<typename T > | |
| T | special::erfcx_y100 (const T y100) |
| erfcx(x) = exp(x^2)*erfc(x) function, for real x | |
| template<typename T > | |
| T | special::erfcx (T x) |
| erfcx(x) = exp(x^2)*erfc(x) function, for real x | |
| template<typename T > | |
| T | special::sinh_taylor (T x) |
| sinh(x) | |
| template<typename T > | |
| T | special::sinc (T x, T sinx) |
| sinc(x) = sin(x)/x | |
| template<typename T > | |
| complex_type< T > | special::w (complex_type< T > z) |
| Compute w(z) = exp(z^2)*erfz(z). | |
| template<typename T > | |
| complex_type< T > | special::taylor (const complex_type< T > z, const T mRe_z2, const T mIm_z2) |
| Taylor series. | |
| template<typename T > | |
| complex_type< T > | special::taylor_erfi (const T x, const T y) |
| Taylor erfi series. | |
| template<typename T > | |
| complex_type< T > | special::erf_complex (const complex_type< T > z) |
| Compute the error function erf(z) | |
| template<typename T > | |
| complex_type< T > | special::erfi (const complex_type< T > z) |
| erfi(z) = -i erf(iz) | |
Variables | |
| template<typename T > | |
| constexpr T | special::expa2n2 [] |
| Precomputed table of expa2n2[n-1] = exp(-a2*n*n) for double-precision a2 = 0.26865... in w, below. | |
Implimentations for special functions.
Special functions are adapted from http://ab-initio.mit.edu/Faddeeva