|
Prev | Next |
# include <cppad/nan.hpp>
s = nan(z)
b = isnan(s)
b = hasnan(v)
nan.
The IEEE standard specifies that a floating point value a
is nan if and only if the following returns true
a != a
Some systems do not get this correct, so we also use the fact that
zero divided by zero should result in a nan.
To be specific, if a value is not equal to itself or
if it is equal to zero divided by zero, it is considered to be a nan.
cppad/nan.hpp is included by cppad/cppad.hpp
but it can also be included separately with out the rest of
the CppAD routines.
nan
and isnan.
These preprocessor symbols will no longer be defined after
this file is included.
nan with the same type as z.
const Scalar &z
and its value is zero
(see Scalar
for the definition of Scalar).
Scalar s
It is the value nan for this floating point type.
nan.
const Scalar s
bool b
It is true if the value s is nan.
nan.
const Vector &v
(see Vector
for the definition of Vector).
bool b
It is true if the vector v has a nan.
| Operation | Description |
a / b | division operator (returns a Scalar object) |
a == b |
equality operator (returns a bool object)
|
a != b |
not equality operator (returns a bool object)
|
int) this may generate
an exception. No attempt is made to catch any such exception.