Am 09.07.2018 um 19:55 schrieb g...@wolfgang-ehrhardt.de:

Zitat von Martok <list...@martoks-place.de>:
To make sure this works, one has to manually make the const expression be of the
type required:
const
  e: Extended = Extended(1.0) / 3.0;

I seem to remember that this was once documented somewhere for Delphi. Can't seem to find it though, so maybe it was a 3rd-party book? There is no hint of it
in the FPC documentation, anyway.

As already noted, it is not necessary in Delphi

D:\Work\TMP>D:\DMX\M18\DCC32 -b exttest.dpr
Embarcadero Delphi for Win32 compiler version 25.0
Copyright (c) 1983,2013 Embarcadero Technologies, Inc.
exttest.dpr(14)
15 lines, 0.00 seconds, 20816 bytes code, 13864 bytes data.
D:\Work\TMP>exttest
                   0.3333333433                  0.3333333433
             0.3333333333333333            0.3333333333333333
             0.3333333333333333            0.3333333333333333

And with Delphi Tokio 10.2.3 Starter

G:\TMP>bds -b exttest.dpr
G:\TMP>exttest.exe
                   0.3333333433                  0.3333333433
             0.3333333333333333            0.3333333333333333
             0.3333333333333333            0.3333333333333333

I am happy to implement this in delphi mode, but it requires some documentation references how delphi evaluates such expressions (which precision is used when and why) and how they are handled in expressions.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to