![]() |
deal.II version GIT relicensing-6750-g1dc21bc838 2026-09-15 17:20:01+00:00
|
Functions | |
| template<typename number > | |
| VectorizedArray< number, 1 > | type_cast (const VectorizedArray< number, 1 > &in) |
| template<int degree, typename CoeffsType , typename ValueType > | |
| ValueType | horner_scheme (const std::array< CoeffsType, degree+1 > &c, const ValueType &x) |
| template<int degree, typename CoeffsType , typename ValueType > | |
| ValueType | estrin_scheme (const std::array< CoeffsType, degree+1 > &c, const ValueType &x) |
Variables | |
| template<int degree, typename Number > | |
| constexpr std::array< Number, degree+1 > | exp_pol_coeff |
| template<typename Number > | |
| constexpr std::array< Number, 4 > | exp_pol_coeff< 3, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 5 > | exp_pol_coeff< 4, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 6 > | exp_pol_coeff< 5, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 7 > | exp_pol_coeff< 6, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 8 > | exp_pol_coeff< 7, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 9 > | exp_pol_coeff< 8, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 10 > | exp_pol_coeff< 9, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 11 > | exp_pol_coeff< 10, Number > |
| template<typename Number > | |
| constexpr std::array< Number, 12 > | exp_pol_coeff< 11, Number > |
| template<typename Number > | |
| constexpr Number | exp_coeff_a = numbers::signaling_nan<Number>() |
| template<> | |
| constexpr double | exp_coeff_a< double > = 4503599627370496 |
| template<> | |
| constexpr float | exp_coeff_a< float > = 8388608 |
| template<typename Number > | |
| constexpr Number | exp_coeff_b = numbers::signaling_nan<Number>() |
| template<> | |
| constexpr double | exp_coeff_b< double > = 4.60718241880001741e+18 |
| template<> | |
| constexpr float | exp_coeff_b< float > = 1065353216 |
| template<typename Number > | |
| constexpr Number | max_exponent = numbers::signaling_nan<Number>() |
| template<> | |
| constexpr double | max_exponent< double > = 9.218868437227405312e+18 |
| template<> | |
| constexpr float | max_exponent< float > = 2139095040 |
| template<typename Number > | |
| constexpr Number | exp_max_abs_x = numbers::signaling_nan<Number>() |
| template<> | |
| constexpr double | exp_max_abs_x< double > = 709.196208642 |
| template<> | |
| constexpr float | exp_max_abs_x< float > = 87.49823353f |
|
inline |
The functions below provide architecture-specific specializations used as a helper by the fast_exp() implementation. Each specialization performs a two-step operation:
Static cast of each floating-point value to its corresponding integer type (float to int32_t, double to int64_t).
Reinterpretation of the resulting integer vector as a floating-point vector via bitwise casting.
Definition at line 326 of file fast_transcendental.h.
|
inline |
This function computes the value of a polynomial
\[ P(x) = c_0 + c_1 x + c_2 x^2 + \dots + c_{\text{degree}} x^{\text{degree}} \]
where the coefficients \(c_i\) are provided in ascending order using Horner's scheme.
| degree | Degree of the polynomial. |
| CoeffsType | Type of the stored coefficients. |
| ValueType | Type of the evaluation point and result. |
| c | Array of polynomial coefficients in ascending order. |
| x | The point at which the polynomial should be evaluated. |
Definition at line 356 of file fast_transcendental.h.
|
inline |
This function computes the value of a polynomial
\[ P(x) = c_0 + c_1 x + c_2 x^2 + \dots + c_{\text{degree}} x^{\text{degree}} \]
where the coefficients \(c_i\) are provided in ascending order using Estrin's scheme.
| degree | Degree of the polynomial. |
| CoeffsType | Type of the stored coefficients. |
| ValueType | Type of the evaluation point and result. |
| c | Array of polynomial coefficients in ascending order. |
| x | The point at which the polynomial should be evaluated. |
Definition at line 386 of file fast_transcendental.h.
|
constexpr |
Definition at line 59 of file fast_transcendental.h.
|
constexpr |
Definition at line 67 of file fast_transcendental.h.
|
constexpr |
Definition at line 74 of file fast_transcendental.h.
|
constexpr |
Definition at line 82 of file fast_transcendental.h.
|
constexpr |
Definition at line 91 of file fast_transcendental.h.
|
constexpr |
Definition at line 101 of file fast_transcendental.h.
|
constexpr |
Definition at line 112 of file fast_transcendental.h.
|
constexpr |
Definition at line 124 of file fast_transcendental.h.
|
constexpr |
Definition at line 137 of file fast_transcendental.h.
|
constexpr |
Definition at line 151 of file fast_transcendental.h.
|
constexpr |
This is 2^52 for double and 2^23 for float.
Definition at line 169 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 171 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 173 of file fast_transcendental.h.
|
inlineconstexpr |
This is 2^52 * 1023 for double and 2^23 * 127 for float.
Definition at line 179 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 181 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 183 of file fast_transcendental.h.
|
inlineconstexpr |
This is the maximum exponent for a floating point representation shifted to the exponent bits. In numbers this is 2^52 * 2047 for double and 2^23
Definition at line 191 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 193 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 195 of file fast_transcendental.h.
|
inlineconstexpr |
The largest |x| for which exp(x) remains a finite, representable value of type Number. For double this is approximately 308 / log10(e), and for float approximately 38 / log10(e).
Definition at line 203 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 205 of file fast_transcendental.h.
|
inlineconstexpr |
Definition at line 207 of file fast_transcendental.h.