On Tue, May 20, 2014 at 1:45 PM, Sean P. DeNigris <[email protected]>wrote:
> Maximiliano Taborda wrote > > Seeing the same with aconcagua > > ... > > teaspoons := BaseUnit named: 'teaspoons'. > > aHalfTeaspoon := Measure amount: 1/2 unit: teaspoons. > > anotherHalfTeaspoon := Measure amount: 0.5 unit: teaspoons. > > > > "#hash" > > aHalfTeaspoon hash = anotherHalfTeaspoon hash "this evaluate to true" > > > > So, I don't see where is the bug. > > It seems to only appear when comparing measures with derived units... > > baseUnit := BaseUnit named: 'tablespoon'. > unit := ProportionalDerivedUnit baseUnit: baseUnit conversionFactor: 1/3 > named: 'teaspoon'. > m1 := Measure amount: 1/2 unit: unit. > m2 := Measure amount: 0.5 unit: unit. > m1 hash = m2 hash. "this evaluate to false" > are you surprised? 0.5 * 0.5 = (1/2 * (1/2)) true 0.5 / 3 = (1/2 * (1/3)) false You can't divide floats by 3 and get an exact answer: 0.5 / 3 = 0.16666666666666666 (1/2)/3 = (1/6) > > > ----- > Cheers, > Sean > -- > View this message in context: > http://forum.world.st/Aconcagua-Hashing-Bug-tp4759622p4759745.html > Sent from the Pharo Smalltalk Developers mailing list archive at > Nabble.com. > > -- best, Eliot
