Prev  Next 
# include <cppad/utility/nan.hpp>
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
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
.
s
has prototype
const Scalar s
b
has prototype
bool b
It is true if the value
s
is nan
.
nan
.
v
has prototype
const Vector &v
(see Vector
for the definition of
Vector
).
b
has prototype
bool b
It is true if the vector
v
has a nan
.
s = nan(z)
z
has prototype
const Scalar &z
and its value is zero
(see Scalar
for the definition of
Scalar
).
s
has prototype
Scalar s
It is the value nan
for this floating point type.
Scalar
must support the following operations;
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)

a
and
b
equal to zero. For some types (e.g. int
) this may generate
an exception. No attempt is made to catch any such exception.
Vector
must be a SimpleVector
class with
elements of type
Scalar
.