# PreciseSums v0.1

0

0th

Percentile

## Accurate Floating Point Sums and Products

Most of the time floating point arithmetic does approximately the right thing. When adding sums or having products of numbers that greatly differ in magnitude, the floating point arithmetic may be incorrect. This package implements the Kahan (1965) sum <doi:10.1145/363707.363723>, Neumaier (1974) sum <doi:10.1002/zamm.19740540106>, pairwise-sum (adapted from 'NumPy', See Castaldo (2008) <doi:10.1137/070679946> for a discussion of accuracy), and arbitrary precision sum (adapted from the fsum in 'Python' ; Shewchuk (1997) <http://www.cs.berkeley.edu/~jrs/papers/robustr.pdf>). In addition, products are changed to long double precision for accuracy, or changed into a log-sum for accuracy.

## Functions in PreciseSums

 Name Description neumaierSum Using the Neumaier method, take a more accurate sum psSetProd Choose the type of product to use in PreciceSums. These are used in the PreciceSums prod blocks pairwiseSum Return an accurate floating point sum of values fsum Return an accurate floating point sum of values kahanSum Using the Kahan method, take a more accurate sum psSetSum Choose the type of sums to use for PreciceSums. psSum Using PreciceSums's default method, take a sum psProd Using PreciceSums's default method, take a product No Results!