Always false float comparisons

Ola Fosheim Grøstad via Digitalmars-d digitalmars-d at puremagic.com
Mon May 16 00:22:29 PDT 2016


On Monday, 16 May 2016 at 06:34:04 UTC, Iain Buclaw wrote:
> This says more about promoting float operations to double than 
> anything else, and has nothing to do with CTFE.

No, promoting to double is ok. NOT coercing the value to 32 bits 
representation when it is requested is what is FUBAR and that is 
the same issue as CTFE. But worse.

This alone is a good reason to avoid D in production. Debugging 
signal processing/3D code is hard enough as it is. Not having a 
reliable way to cast to float32 representation is really really 
really bad.

Random precision is not a good thing, in any way.

1. It does not improve accuracy in a predictable manner. If 
anything it adds noise.
2. It makes harnessing library code by extensive testing near 
impossible.
3. It makes debugging of complex system level floating point code 
very hard.

This ought to be obvious.



More information about the Digitalmars-d mailing list