Message220301
Understood and agreed. My bad too for not reading the documentation more carefully. Thank you for the detailed explanation.
Pablo
> On Jun 11, 2014, at 2:52 PM, Tim Peters <report@bugs.python.org> wrote:
>
>
> Tim Peters added the comment:
>
> @pacosta, if Mark's answer is too abstract, here's a complete session showing that the result you got for gcd(2.7, 107.3) is in fact exactly correct:
>
>>>> import fractions
>>>> f1 = fractions.Fraction(2.7)
>>>> f2 = fractions.Fraction(107.3)
>>>> f1
> Fraction(3039929748475085, 1125899906842624) # the true value of "2.7"
>>>> f2
> Fraction(7550566250263347, 70368744177664) # the true value of "107.3"
>>>> fractions.gcd(f1, f2) # computed exactly with rational arithmetic
> Fraction(1, 1125899906842624)
>>>> float(_)
> 8.881784197001252e-16
>
> But this will be surprising to most people, and probably useless to all people. For that reason, passing non-integers to gcd() is simply a Bad Idea ;-)
>
> ----------
>
> _______________________________________
> Python tracker <report@bugs.python.org>
> <http://bugs.python.org/issue21712>
> _______________________________________ |
|
Date |
User |
Action |
Args |
2014-06-11 18:54:30 | pacosta | set | recipients:
+ pacosta, tim.peters, rhettinger, mark.dickinson |
2014-06-11 18:54:30 | pacosta | link | issue21712 messages |
2014-06-11 18:54:30 | pacosta | create | |
|