2017-11-09 23:50 GMT+01:00 <raffaello.giulie...@lifeware.ch>:

> On 2017-11-09 22:11, Nicolas Cellier wrote:
>
>
> >             Something like exact difference like Martin suggested, then
> >             converting to nearest Float because result is inexact:
> >                  ((1/10) - 0.1 asFraction) asFloat
> >
> >             This way, you would have a less surprising result in most
> cases.
> >             But i could craft a fraction such that the difference
> >             underflows, and the assertion a ~= b ==> (a - b) isZero not
> >             would still not hold.
> >             Is it really worth it?
> >             Will it be adopted in other dialects?
> >
> >
> >
> >         As an alternative, the Float>>asFraction method could return the
> >         Fraction with the smallest denominator that would convert to the
> >         receiver by the Fraction>>asFloat method.
> >
> >         So, 0.1 asFraction would return 1/10 rather than the beefy
> >         Fraction it currently returns. To return the beast, one would
> >         have to intentionally invoke asExactFraction or something
> similar.
> >
> >         This might cause less surprising behavior. But I have to think
> more.
> >
> >
> >     No the goal here was to have a non null difference because we need
> >     to preserve inequality for other features.
> >
> >     Answering anything but a Float at a high computation price goes
> >     against primary purpose of Float (speed, efficiency)
> >     If that's what we want, then we shall not use Float in the first
> place.
> >     That's why I don't believe in such proposal
> >
> >     The minimal Fraction algorithm is an intersting challenge though.
> >     Not sure how to find it...
>
> I'm thinking of a continuous fraction expansion of the exact fraction
> until the partial fraction falls inside the rounding interval of the Float.
>
> Heavy, but doable.
>
> Not sure, however, if it always meets the stated criterion.
>
>
> then look at asApproximateFraction and change the termination condition

Reply via email to