Numerical Thresholds. More...
Variables | |
const SYTEN_SRDEF_TYPE | SYTEN_BROADENING_EPSILON = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 12./16.) |
Broadening threshold epsilon to be used in inexact inversion \(
\frac{1}{x} \approx \frac{x}{x^2 + \epsilon} \). More... | |
const SYTEN_SRDEF_TYPE | SYTEN_DEBUG_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 5./16.) |
If \(x == y\) from theory, abs(x-y) < SYTEN_DEBUG_THRESHOLD More... | |
const SYTEN_SRDEF_TYPE | SYTEN_DEBUG_THRESHOLD_SQD = (SYTEN_DEBUG_THRESHOLD * SYTEN_DEBUG_THRESHOLD) |
Squared value of the debug threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_EZERO_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 11./16.) |
An element is considered zero during EliminateZero::Yes processing if it is smaller than this times the element-specific threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_EZERO_THRESHOLD_SQD = (SYTEN_EZERO_THRESHOLD * SYTEN_EZERO_THRESHOLD) |
Squared value of the eliminate zero threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_PARALLEL_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 10./16.) |
Two tensors are considered parallel if the ratios between individual elements differ at most by this. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_PARALLEL_THRESHOLD_SQD = (SYTEN_PARALLEL_THRESHOLD * SYTEN_PARALLEL_THRESHOLD) |
Squared value of the parallel threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_SMALL_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 15./16.) |
A generic small threshold, suitable for comparison for equality. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_SMALL_THRESHOLD_SQD = (SYTEN_SMALL_THRESHOLD * SYTEN_SMALL_THRESHOLD) |
Squared value of small threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_ZERO_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 18./16.) |
A very small threshold, suitable to discard values lower than it. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_ZERO_THRESHOLD_SQD = (SYTEN_SMALL_THRESHOLD * SYTEN_SMALL_THRESHOLD) |
Squared value of very small threshold. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_ZNORM_THRESHOLD = std::pow(std::numeric_limits<SYTEN_SRDEF_TYPE>::epsilon(), 8./16.) |
An object with norm() below this is considered unnormalisable. More... | |
const SYTEN_SRDEF_TYPE | SYTEN_ZNORM_THRESHOLD_SQD = (SYTEN_ZNORM_THRESHOLD * SYTEN_ZNORM_THRESHOLD) |
Squared value of the zero norm threshold. More... | |
Numerical Thresholds.
std::pow
, but Clang doesn't, so we can't make these constexpr at the moment. In practice, they are evaluated at compile-time.