On 8/25/22 12:39 PM, Walter Bright wrote:
>On 8/24/2022 8:08 PM, Steven Schveighoffer wrote:
>NaN fails at that. It's silently swallowed by just about everything. Only when a human looks at some printout does it become obvious.
Seriously, when is 0 better than that?
If you aren't looking at your output, then why are you calculating the value?
Very few programs have a purpose to print an actual floating point number as text. Instead they are used for other things.
Another example, let's say you are using a FP calculation to determine some sort of timing for bandwidth limiting. You might have something like:
if(val > maxBW) delaySending();
If val
or maxBW
are NaN, this will always be a false condition (because of the wonderful property that comparisons with NaN are always false), so that code effectively never executes. Note that there's no printf
here, and the code happily compiles and runs, it just does something unexepected.
0 is no better here but also no worse.
-Steve