Module fsums
Class Fsum
for precision floating point summation and running summation based
on, respectively similar to Python's math.fsum.
Generally, an Fsum instance is considered a float plus a
small or zero residual value, see property Fsum.residual. However, there are several
integer Fsum cases, for example the result of ceil,
floor, Fsum.__floordiv__ and methods Fsum.fint
and Fsum.fint2.
Also, Fsum
methods Fsum.pow, Fsum.__ipow__, Fsum.__pow__ and Fsum.__rpow__ return a (very long) int if
invoked with optional argument mod set to None.
The residual of an integer Fsum may be
between -1.0 and +1.0, including
INT0 if considered to be exact.
Set env variable PYGEODESY_FSUM_RESIDUAL to a
float string greater than "0.0" as
the threshold to throw a ResidualError for a division, power or root operation of
an Fsum
instance with a residual ratio exceeding the
threshold. See methods Fsum.RESIDUAL, Fsum.pow, Fsum.__ipow__ and Fsum.__itruediv__.
|
|
Fsum
Precision floating point summation and running summation.
|
|
|
DivMod2Tuple
2-Tuple (div, mod) with the quotient div
and remainder mod results of a divmod
operation.
|
|
|
Fsum2Tuple
2-Tuple (fsum, residual) with the precision running
fsum and the residual, the sum of the
remaining partials.
|
|
|
ResidualError
Error raised for a division, power or root operation of an Fsum
instance with a residual ratio exceeding the RESIDUAL threshold.
|
|
|
fsum(xs,
floats=False)
Precision floating point summation based on/like Python's
math.fsum. |
|
|
|
|
fsum_(*xs,
**floats)
Precision floating point summation of all positional arguments. |
|
|
|
|
fsumf_(*xs)
Precision floating point summation iff all
xs items are known to be scalar. |
|
|
|
|
fsum1(xs,
floats=False)
Precision floating point summation, 1-primed. |
|
|
|
|
fsum1_(*xs,
**floats)
Precision floating point summation, 1-primed of all positional
arguments. |
|
|
|
|
fsum1f_(*xs)
Precision floating point summation iff all
xs are known to be scalar. |
|
|
|
|
__all__ = _ALL_LAZY.fsums
|
|
Precision floating point summation based on/like Python's
math.fsum.
- Arguments:
xs - Iterable of items to add (each scalar or an Fsum or
Fsum2Tuple instance).
floats - Use floats=True iff all
xs items are known to be scalar
(bool).
- Returns:
- Precision
fsum (float).
- Raises:
OverflowError - Partial 2sum overflow.
TypeError - Non-scalar xs item.
ValueError - Invalid or non-finite xs item.
Note:
Exception and non-finite handling may differ if not based on
Python's math.fsum.
See Also:
Class Fsum and methods Fsum.fsum and Fsum.fadd.
|
|
Precision floating point summation of all positional arguments.
- Arguments:
xs - Items to add (each scalar or an Fsum or
Fsum2Tuple instance), all positional.
floats - Use floats=True iff all
xs items are known to be scalar
(bool).
See Also:
Function fsum for further details.
|
|
Precision floating point summation iff all
xs items are known to be scalar.
See Also:
Function fsum_ for further details.
|
|
Precision floating point summation, 1-primed.
- Arguments:
xs - Iterable of items to add (each scalar or an Fsum or
Fsum2Tuple instance).
floats - Use floats=True iff all
xs items are known to be scalar
(bool).
See Also:
Function fsum for further details.
|
|
Precision floating point summation, 1-primed of all positional
arguments.
- Arguments:
xs - Items to add (each scalar or an Fsum or
Fsum2Tuple instance), all positional.
floats - Use floats=True iff all
xs items are known to be scalar
(bool).
See Also:
Function fsum_ for further details.
|
|
Precision floating point summation iff all
xs are known to be scalar.
See Also:
Function fsum_ for further details.
|