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

Reply via email to