On Sunday, 15 May 2016 at 22:49:27 UTC, Walter Bright wrote:
On 5/15/2016 2:06 PM, Ola Fosheim Grøstad wrote:
The net result is that adding const/immutable to a type can
change the semantics
of the program entirely at the whim of the compiler
implementor.
C++ Standard allows the same increased precision, at the whim
of the compiler implementor, as quoted to you earlier.
What your particular C++ compiler does is not relevant, as its
behavior is not required by the Standard.
I am watching this conversation for quite a while now and it's
interesting to see how we went from the problem
float f = 1.30;
assert(f == 1.30); // NO
assert(f == cast(float)1.30); //OK
to this (endless) discussion.
My proposal removes the "whim" by requiring 128 bit precision
for CTFE.
@Walter: I think this is a great idea and increased precision is
always better!
As you pointed out, yes the only reason to decrease precision if
a trade-off for speed. Please keep doing/pushing this!