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 items 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 items are known to be scalar.
See Also:
Function fsum_ for further details.
|