[Vm-dev] Bug in primitive 551 (SmallFloat64>> truncated)
Nicolas Cellier
nicolas.cellier.aka.nice at gmail.com
Tue Mar 12 16:05:18 UTC 2019
Hi Juan,
good find. Can you open an issue on github opensmalltalk repo?
Le mar. 12 mars 2019 à 16:05, Juan Vuletich <JuanVuletich at zoho.com> a
écrit :
>
> Hi Folks,
>
> I just found a bug in an edge case in #truncated primitive in 64 bits
> Cog Spur (tested on Linux, both in Cuis and Squeak). It is when
> #truncated a Float that is slightly larger than SmallInteger maxVal.
>
> SmallInteger maxVal --> 1152921504606846975
>
> If we take (1152921504606846975.0 predecessor), to ensure a Float that
> still fits in a SmallInteger, everything works fine:
>
> 1152921504606846975.0 predecessor asTrueFraction --> 1152921504606846848
> 1152921504606846975.0 predecessor asTrueFraction --> class SmallInteger
> 1152921504606846975.0 predecessor truncated --> 1152921504606846848
>
> But taking 1152921504606846976.0:
>
> 1152921504606846976.0 asTrueFraction --> 1152921504606846976 (correct
> result)
> 1152921504606846976.0 asTrueFraction class --> LargePositiveInteger
> (ok. Doesn't fit in SmallInteger)
> 1152921504606846976.0 truncated --> -1152921504606846976
>
> The primitive is answering SmallInteger minVal, (a negative number!) but
> it should fail, as the correct result doesn't fit in a SmallInteger.
>
> Thanks,
>
> --
> Juan Vuletich
> www.cuis-smalltalk.org
> https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
> https://github.com/jvuletich
> https://www.linkedin.com/in/juan-vuletich-75611b3
> @JuanVuletich
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/vm-dev/attachments/20190312/596baf3d/attachment.html>
More information about the Vm-dev
mailing list