[Newbies] Float comparsion
Bert Freudenberg
bert at freudenbergs.de
Fri Feb 27 12:51:30 UTC 2009
The Epsilon class variable is used only when the primitives for some
float functions are not available, in which case they are approximated
to that precision. Using that same epsilon for something else is as
meaningless as the 0.0001 in #closeTo:.
The epsilon really depends on your application.
- Bert -
On 27.02.2009, at 13:41, Oscar Nierstrasz wrote:
>
> Yes, we looked at that, but closeTo: uses a much larger epsilon than
> Float's class variable Epsilon.
>
> I suggested Camillo wrote an extension method similar to closeTo:
> but using the existing Epsilon (or an arbitrary one as an additional
> parameter).
>
> Is that the right thing to do?
>
> - on
>
> On Feb 27, 2009, at 13:34, Lukas Renggli wrote:
>
>> Hi Camillo ;-)
>>
>> Use the method #closeTo: instead of #=. Comparing floats with #=
>> almost never works.
>>
>> Although "(Float halfPi / 2) tan" is printed as 1.0, it is not
>> exactly
>> 1.0 due to rounding errors in the calucaltaion and/or the internal
>> representation.
>>
>> (Float halfPi / 2) tan - 1.0 --> -1.110223024625156e-16
>>
>> Lukas
>>
>> --
>> Lukas Renggli
>> http://www.lukas-renggli.ch
>> _______________________________________________
>> Beginners mailing list
>> Beginners at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/mailman/listinfo/beginners
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners
More information about the Beginners
mailing list