sum accuracy
Tony van der Hoff
tony at vanderhoff.org
Fri Apr 15 06:39:45 EDT 2016
On 15/04/16 11:10, Ben Bacarisse wrote:
> Oscar Benjamin <oscar.j.benjamin at gmail.com> writes:
>
>> On 15 April 2016 at 10:24, Robin Becker <robin at reportlab.com> wrote:
> <snip>
>>> yes indeed summation is hard :(
>>
>> Not with Fraction it isn't:
>>
>> from fractions import Fraction
>>
>> def exact_sum(nums):
>> return sum(map(Fraction, nums))
>>
>> This will give you the exact result with precisely zero rounding
>> error. You can convert it to float at the end.
>
> Just a word of warning for people new to numerical work: there's no
> rounding error, but unless you start with Fraction objects you still
> have input or conversion errors. The uninitiated might expect
>
> exact_sum([0.3, 0.7])
>
> to be 1.
>
So I'm uninitiated:
NameError: name 'exact_sum' is not defined
I appreciate the word of warning, but, in my case, it's not helpful.
--
Tony van der Hoff | mailto:tony at vanderhoff.org
Buckinghamshire, England |
More information about the Python-list
mailing list