summaryrefslogtreecommitdiff
path: root/Doc/tutorial/floatingpoint.rst
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2009-04-26 22:01:46 +0000
committerRaymond Hettinger <python@rcn.com>2009-04-26 22:01:46 +0000
commit344f0450b8b0fbc25ea8487aff49b3b4bc162c36 (patch)
tree1a17a20537ebaed99f0a47f0ed0612877b5a7d7f /Doc/tutorial/floatingpoint.rst
parent9842baae55662b173cd6ab9b33095c076817d945 (diff)
downloadcpython-344f0450b8b0fbc25ea8487aff49b3b4bc162c36.tar.gz
Add link to math.fsum().
Diffstat (limited to 'Doc/tutorial/floatingpoint.rst')
-rw-r--r--Doc/tutorial/floatingpoint.rst10
1 files changed, 10 insertions, 0 deletions
diff --git a/Doc/tutorial/floatingpoint.rst b/Doc/tutorial/floatingpoint.rst
index 98e299db98..a8a42029fe 100644
--- a/Doc/tutorial/floatingpoint.rst
+++ b/Doc/tutorial/floatingpoint.rst
@@ -189,6 +189,16 @@ Since the representation is exact, it is useful for reliably porting values
across different versions of Python (platform independence) and exchanging
data with other languages that support the same format (such as Java and C99).
+Another helpful tool is the :func:`math.fsum` function which helps mitigate
+loss-of-precision during summation. It tracks "lost digits" as values are
+added onto a running total. That can make a difference in overall accuracy
+so that the errors do not accumulate to the point where they affect the
+final total:
+
+ >>> sum([0.1] * 10) == 1.0
+ False
+ >>> math.fsum([0.1] * 10) == 1.0
+ True
.. _tut-fp-error: