NaNs Just Don't Get No Respect
bearophile
bearophileHUGS at lycos.com
Mon Aug 20 15:38:10 PDT 2012
Peter Alexander:
> It's tricky. The only way (that I'm aware of) to get it to
> return NaN is to explicitly test for NaN, introducing overhead
> that is unnecessary 99.9% of the time.
>
> Unfortunately this is one of those situations where D's design
> goals of efficiency and safety are at odds. You can't have it
> both ways.
Few possibilities:
1) Add a second NaN-aware function pair nmax()/nmin();
2) Add a debug{} inside min()/max(), where NaNs are managed;
3) Introduce a if(version=NaNAware){} block inside the normal
max()/min() and other Phobos functions, to be used when you want
more NaN-correct results.
I prefer the third idea, but this probably requires a
recompilation of Phobos.
Bye,
bearophile
More information about the Digitalmars-d-announce
mailing list