[squeak-dev] #closeTo: on small numbers

Nicolas Cellier nicolas.cellier.aka.nice at gmail.com
Sun Mar 8 10:30:09 UTC 2020


Hi Stephane,
I have unpublished nasty tests showing such kind of weakness of closeTo:

We can use either an absolute precision, or a relative one, but if we try
to handle both in same message, we'll get in trouble at the boundaries.
The scheme that might work for comparing x and y is to use prescribed
precision as boundary like this:

(xy := x abs max: y abs) > precision
    ifTrue:
        ["use relative precision"
        ^(x-y) abs <= (xy * precision)].
"use absolute precision"
^(x-y) abs <= precision

Le dim. 8 mars 2020 à 11:23, Stéphane Rollandin <lecteur at zogotounga.net> a
écrit :

> >       (self closeTo: 0.0) ifTrue: [^self abs < 0.0001].
>
> typo: it's
>         (self closeTo: 0.0) ifTrue: [^num abs < 0.0001].
>
> Stef
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20200308/fc5314c5/attachment.html>


More information about the Squeak-dev mailing list