|
|
template<std::floating_point F = double> |
| constexpr NumericRegion | dedekind::ieee::classify_region (F x, F near_zero_scale=F{64}, F huge_scale=F{0.5}) noexcept |
| | Classify a scalar into a numeric region.
|
|
template<std::floating_point F = double> |
| constexpr F | dedekind::ieee::roundoff_proxy (F x) noexcept |
| | Conservative local rounding proxy: eps*|x|.
|
template<std::floating_point F, typename Op>
requires IsIEEEPropagationOp<Op, F> |
| constexpr Approx< F > | dedekind::ieee::propagate (const Approx< F > &a, const Approx< F > &b, const Op &op={}) noexcept |
| | Propagate approximation error through a binary IEEE operation.
|
|
template<std::floating_point F = double> |
| constexpr Approx< F > | dedekind::ieee::demo_propagate_add (const Approx< F > &a, const Approx< F > &b) noexcept |
| | Demo: propagate error through IEEE addition.
|
|
template<std::floating_point F = double> |
| constexpr Approx< F > | dedekind::ieee::demo_propagate_mul (const Approx< F > &a, const Approx< F > &b) noexcept |
| | Demo: propagate error through IEEE multiplication.
|
|
template<std::floating_point F = double> |
| constexpr IEEE< F > | dedekind::ieee::demo_add_ignore (const IEEE< F > &a, const IEEE< F > &b) noexcept |
|
template<std::floating_point F = double> |
| constexpr Approx< F > | dedekind::ieee::demo_add_report (const IEEE< F > &a, const IEEE< F > &b) noexcept |
| | Demo operation: IEEE add under report policy.
|
|
template<std::floating_point F = double> |
| constexpr TernaryResult< Approx< F > > | dedekind::ieee::demo_add_adaptive (const IEEE< F > &a, const IEEE< F > &b) noexcept |
| | Demo operation: IEEE add under adaptive policy.
|