LSSTApplications
20.0.0
LSSTDataManagementBasePackage
|
Go to the documentation of this file.
22 #ifndef LSST_AFW_MATH_POLYNOMIALS_SafeSum_h_INCLUDED
23 #define LSST_AFW_MATH_POLYNOMIALS_SafeSum_h_INCLUDED
27 namespace lsst {
namespace geom {
namespace polynomials {
65 explicit SafeSum(T initial=
static_cast<T
>(0)) noexcept :
67 _correction(static_cast<T>(0))
72 _correction =
static_cast<T
>(0);
81 _correction += (_sum - t) + value;
83 _correction += (value - t) + _sum;
93 explicit operator T() const noexcept {
94 return _sum + _correction;
104 #endif // !LSST_AFW_MATH_POLYNOMIALS_SafeSum_h_INCLUDED
Angle abs(Angle const &a)
SafeSum(T initial=static_cast< T >(0)) noexcept
SumMode
Enum used to control how to sum polynomial terms.
SafeSum & operator+=(T value) noexcept
@ SAFE
Compensated summation using SafeSum. Involves ~4x as many floating point operations.
A base class for image defects.
A numerically stable summation algorithm for floating-point numbers.
@ FAST
Summation using regular floating-point addition.
SafeSum & operator-=(T value) noexcept
SafeSum & operator=(T value) noexcept