> On 1 Jun 2017, at 15:59, Henrik Sperre Johansen > <[email protected]> wrote: > > SmallInteger >> digitAt: has an n > 4 ifTrue: [^0] check, in 64bit this needs > to check against 8. > (The value represents max number of 8-bit digits in a SmallInteger)
I can confirm that this fixes the problems that I reported. I guess we should include this patch ? This fixes some of the failing tests in Kernel-Tests-Numbers but not all of them (some others are really hardcoded constants in the tests). > "I thought BoxedFloat64 should not be used in 64-bit ?" > It will be used for some large exponents, search for "immediate float" in > https://clementbera.wordpress.com/2014/01/16/spurs-new-object-format/ > for a good description. > > "Also, should #emin, #emax and friends not be different for SmallFloat64 ? " > No, it's an implementation detail. > Both float classes represent 64bit floating points with emin/emax as listed. > When one is insufficient; it should be swapped to the other automatically, > in a manner similar to Byte/WideStrings instances. OK, I understand better now. Thank you both. > Cheers, > Henry > > > > -- > View this message in context: > http://forum.world.st/Confused-about-Floats-on-64-bit-Pharo-6-tp4948805p4948828.html > Sent from the Pharo Smalltalk Developers mailing list archive at Nabble.com. >
