Recent

Author Topic: Result mismatch on division by exponential notation and literal notation.  (Read 3553 times)

Jonas Maebe

  • Hero Member
  • *****
  • Posts: 1058
I did not change anything. A bug report would be good, because just using the highest precision in all cases is what we originally did and that caused also compatibility issues. It would also prevent the use of SSE on all x86-64 platforms apart from Win64 as soon as you have a constant, because then the whole expression will suddenly have to be evaluated using extended precision (unless you start explicitly typecasting all of your constants to single/double), and in on all other platforms also have similar effects with expressions only containing single precision values and constants.


FPK

  • Moderator
  • Full Member
  • *****
  • Posts: 118
The bug report tells nothing. Point out some documentation how delphi handles it. Everything else is guessing: it depends too much on the platform: is a real extended type available, is maybe one type handled in software etc. This is all a very slippery slope. For example defaulting to double is random if there is also extended. Further double might be very slow on some platforms as they are only emulated (some arm CPUs, Xtensa) etc.

AlexTP

  • Hero Member
  • *****
  • Posts: 2365
    • UVviewsoft
At least "default to Double" will be the improvement. IMO

(I don't have link to docs)

FPK

  • Moderator
  • Full Member
  • *****
  • Posts: 118
At least "default to Double" will be the improvement. IMO

People using CPUs without hardware double support will see it differently if all operations with constants get suddenly carried out in double instead of hardware supported single.

AlexTP

  • Hero Member
  • *****
  • Posts: 2365
    • UVviewsoft
(I don't know what to write, then).

PascalDragon

  • Hero Member
  • *****
  • Posts: 5444
  • Compiler Developer
In that case the status quo is as good as it can get.

 

TinyPortal © 2005-2018