Hi, Silly question: Were all compiled an executed in the same computer and operating system? Also, were all compilations done with same optimization configuration?
It is well known that different CPUs have differences in some operations, specially DIV ones that even introduced bugs in the past (i.e. the infamous Pentium DIV). Also different compilers may introduce different configurations about math processing if you didn't set one (i.e. using the "default" CPU). Maybe some assume Pentium (so it should workaround DIV operations) and other don't. Also if it was compiled in a way that doesn't use the CPU math operations different operating systems/library versions may have different implementations for the same operation. Regards, Guillermo MartÃnez. El Fri, 15 Oct 2021 11:49:59 +0200 Gabor Boros via fpc-pascal <fpc-pascal@lists.freepascal.org> escribió: > Hi All, > > I got different results with 32bit vs. 64bit, 3.2.2 vs. 3.3.1, FPC > vs. Delphi. Why? > > var > d1,d2:Double; > > begin > d1:=20.5; > d2:=1.05; > Writeln(RoundTo(d1*d2,-2)); > Writeln(SimpleRoundTo(d1*d2)); > d1:=28.9; > Writeln; > Writeln(RoundTo(d1*d2,-2)); > Writeln(SimpleRoundTo(d1*d2)); > d1:=21.5; > Writeln; > Writeln(RoundTo(d1*d2,-2)); > Writeln(SimpleRoundTo(d1*d2)); > Readln; > end. > > - FPC 3.2.2 Win32 > > 2.1530000000000001E+001 > 2.1530000000000001E+001 > > 3.0340000000000000E+001 > 3.0340000000000000E+001 > > 2.2570000000000000E+001 > 2.2570000000000000E+001 > > - FPC 3.2.2 Win64 > > 2.1520000000000003E+001 > 2.1530000000000001E+001 > > 3.0340000000000007E+001 > 3.0350000000000001E+001 > > 2.2570000000000004E+001 > 2.2579999999999998E+001 > > - FPC 3.3.1 Win32 > > 2.1530000000000001E+001 > 2.1530000000000001E+001 > > 3.0340000000000000E+001 > 3.0340000000000000E+001 > > 2.2570000000000000E+001 > 2.2570000000000000E+001 > > - FPC 3.3.1 Win64 > > 2.1520000000000003E+001 > 2.1530000000000001E+001 > > 3.0340000000000007E+001 > 3.0350000000000001E+001 > > 2.2570000000000004E+001 > 2.2579999999999998E+001 > > - Delphi 10.4.2 Win32 > > 2.15300000000000E+0001 > 2.15300000000000E+0001 > > 3.03400000000000E+0001 > 3.03400000000000E+0001 > > 2.25800000000000E+0001 > 2.25800000000000E+0001 > > - Delphi 10.4.2 Win64 > > 2.15200000000000E+0001 > 2.15300000000000E+0001 > > 3.03400000000000E+0001 > 3.03500000000000E+0001 > > 2.25800000000000E+0001 > 2.25800000000000E+0001 > > Gabor > _______________________________________________ > fpc-pascal maillist - fpc-pascal@lists.freepascal.org > https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal