Hi Henrik, Hi Esteban, Hi Marcus, > On Jun 1, 2017, at 6:59 AM, 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)
In general you need to take a careful look at the differences between Squeak 4.6 and Squeak trunk in SmallInteger and Float to harvest all the fixes for 64-bit SmallIntegers and SmallFloat64/BoxedFloat64. > "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. > > Cheers, > Henry
