1#ifndef MODULE_BASE_TRUNCATED_FUNC_H
2#define MODULE_BASE_TRUNCATED_FUNC_H
22template <
typename FPTYPE>
25 if (std::real(x) < -230.0)
27 return static_cast<FPTYPE
>(0.0);
42template <
typename FPTYPE>
45 if (std::real(x) > 20.0)
47 return static_cast<FPTYPE
>(0.0);
70template <
typename FPTYPE>
73 if (std::abs(x) < 1.0e-30)
75 x =
static_cast<FPTYPE
>(0.0);
82 const uint64_t u = *
reinterpret_cast<const uint64_t*
>(&x);
86 if (((u >> 52) & 0x7FF) <= 923)
95 const uint32_t u = *
reinterpret_cast<const uint32_t*
>(&x);
99 if (((u >> 23) & 0xFF) <= 27)
108 T* ptr =
reinterpret_cast<T*
>(&x);
#define T
Definition exp.cpp:237
Definition clebsch_gordan_coeff.cpp:8
FPTYPE truncated_erfc(FPTYPE x)
Truncated complementary error function to avoid underflow for large arguments.
Definition truncated_func.h:43
void truncated_underflow(FPTYPE &x)
Truncated value function to avoid underflow.
Definition truncated_func.h:71
FPTYPE truncated_exp(FPTYPE x)
Truncated exponential function to avoid underflow.
Definition truncated_func.h:23