Thorsten Engler <thorsten.eng...@gmx.net> schrieb am Fr., 27. Apr. 2018, 16:09:
> Highest integer that fits in a Int64: > > 9223372036854775808 > > 1e20: > > 100000000000000000000 > > > > Your Int is overflowing. > > > > You can’t implement Frac by going through an Integer, that will never > work. Except if you have an integer that can hold 1.8E308 (which would be a > 1024 bit integer, or thereabouts) > Yes, I saw that now as well, though it's even worse as the cvttsd2si instruction in fact only works with 32-bit integers. That additionally means that Trunc() and Round() are broken for such values as well as they rely on the same kind of functions. Int() works because it doesn't have an SSE version. Regards, Sven >
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel