I wouldn't say so. Or at least, not generally. Why can't the compiler do what the programer intends to do:
var s: single; d: double; e: extended; begin s := 8427.0 + 33.0 / 1440.0; // treat all constants all "single" d := 8427.0 + 33.0 / 1440.0; // treat all constants all "double" e := 8427.0 + 33.0 / 1440.0; // treat all constants all "extended" end. Shouldn't this satisfy all the needs? Those caring for precision will work with double precision and don't have to take care for a loss in precision. Those caring for speed can use the single precision type and be sure that no costly conversion to double or extended will take place. ----- Original Message ----- From: Jonas Maebe via fpc-pascal <fpc-pascal@lists.freepascal.org> To: fpc-pascal@lists.freepascal.org <fpc-pascal@lists.freepascal.org> Sent: Sunday, February 11, 2024, 23:29:42 Subject: [fpc-pascal] Floating point question On 11/02/2024 23:21, Bernd Oppolzer via fpc-pascal wrote: > and this would IMHO be the solution which is the easiest to document and > maybe to implement > and which would satisfy the users. And generate the slowest code possible on most platforms. Jonas _______________________________________________ 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