[fpc-pascal] Floating point question
Jonas Maebe
jonas at freepascal.org
Mon Feb 12 19:08:29 CET 2024
On 12/02/2024 10:55, Michael Van Canneyt via fpc-pascal wrote:
> On Mon, 12 Feb 2024, Thomas Kurz via fpc-pascal wrote:
>
>> 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.
>
> You cannot do this in Pascal. The evaluation of the expression on the
> right of := does not
> know (and should not know) what the type is of the expression on the left.
It's even theoretically impossible to do in case the result is passed to
a function or intrinsic that is overloaded with single/double/extended
parameters.
Jonas
More information about the fpc-pascal
mailing list