Package com.esri.core.geometry
Class MathUtils.KahanSummator
- java.lang.Object
-
- com.esri.core.geometry.MathUtils.KahanSummator
-
- Enclosing class:
- MathUtils
static final class MathUtils.KahanSummator extends java.lang.ObjectThe implementation of the Kahan summation algorithm. Use to get better precision when adding a lot of values.
-
-
Field Summary
Fields Modifier and Type Field Description private doublecompensationprivate doublestartValueprivate doublesum
-
Constructor Summary
Constructors Constructor Description KahanSummator(double startValue_)initialize to the given start value.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidadd(double v)add a value.(package private) voidadd(MathUtils.KahanSummator v)add another summator.(package private) doublegetResult()Returns current value of the sum.(package private) MathUtils.KahanSummatorminusEquals(double v)(package private) MathUtils.KahanSummatorminusEquals(MathUtils.KahanSummator v)(package private) MathUtils.KahanSummatorplusEquals(double v)(package private) MathUtils.KahanSummatorplusEquals(MathUtils.KahanSummator v)(package private) voidreset()Resets the accumulated sum to zero.(package private) voidsub(double v)Subtracts a value.(package private) voidsub(MathUtils.KahanSummator v)Subtracts another summator.
-
-
-
Method Detail
-
reset
void reset()
Resets the accumulated sum to zero. The getResult() returns startValue_ after this call.
-
add
void add(double v)
add a value.
-
sub
void sub(double v)
Subtracts a value.
-
add
void add(MathUtils.KahanSummator v)
add another summator.
-
sub
void sub(MathUtils.KahanSummator v)
Subtracts another summator.
-
getResult
double getResult()
Returns current value of the sum.
-
plusEquals
MathUtils.KahanSummator plusEquals(double v)
-
minusEquals
MathUtils.KahanSummator minusEquals(double v)
-
plusEquals
MathUtils.KahanSummator plusEquals(MathUtils.KahanSummator v)
-
minusEquals
MathUtils.KahanSummator minusEquals(MathUtils.KahanSummator v)
-
-