From 5afb5c6630540f2b4fb314a9a7c5ea9692e0b0c0 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Sun, 26 Apr 2009 22:01:46 +0000 Subject: [PATCH] Add link to math.fsum(). --- Doc/tutorial/floatingpoint.rst | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Doc/tutorial/floatingpoint.rst b/Doc/tutorial/floatingpoint.rst index 98e299db98b..a8a42029fe4 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: