NaN
Grant Edwards
invalid at invalid.invalid
Thu Apr 28 16:39:51 EDT 2011
On 2011-04-28, Chris Rebert <clp2 at rebertia.com> wrote:
>> 2. What are the use cases for NaN? Looks like it gets used a lot as a
>> numeric (float?) object with non-value.
>
> FWICT, it's useful in lower-level languages (which typically lack
> exceptions and often lack nice ways of returning multiple values from
> a function) as a convenient way of signaling a mathematical error.
When doing stuff involving process control systems, I found it very
useful to use NaN to indicate "unknown/invalid". It propogates
properly through calculations so that when you have an invalid input,
all of the outputs that depend on it also go invalid.
The other option is to use a value/status tuple everywhere you would
normally use a float. But that falls over every time you need to use
a library function that expects a float as an input and returns a
float as an output.
Since the sensors return a NaN when the value is unkown/invalid it
seemed logical to continue with that paradigm in my Python code -- and
it pretty much "just works".
--
Grant Edwards grant.b.edwards Yow! If elected, Zippy
at pledges to each and every
gmail.com American a 55-year-old
houseboy ...
More information about the Python-list
mailing list