Prev | Next | base_identical |
AD<Base>
,
the type
Base
must support the syntax
b = CppAD::EqualOpSeq(u, v)
This should return true if and only if
u
is identically equal to
v
and it makes no different which one is used.
The arguments
u
and
v
have prototype
const Base& u
const Base& v
The return value
b
has prototype
bool b
Base
is a relatively simple type,
the EqualOpSeq
function can be defined by
namespace CppAD {
inline Base EqualOpSeq(const Base& u, const Base& v)
{ return u == v; }
}
For example, see
base_alloc
.
u
and
v
are not identically equal in the following case:
Base
is
AD<double>
.
Base
:
x[0] = x[1] = 1.
,
x
the independent variable vector,
u = x[0]
,
v = x[1]
.
u
and
v
could correspond to different values.
For example, see
adolc EqualOpSeq
.
Base
object is a
constant
parameter
when used in an
AD<Base>
operation sequence.
It is however still possible for a parameter to change its value; e.g.,
see the more complicated case above.
u
has prototype
const Base u
If it is present, the argument
v
has prototype
const Base v
The result
b
has prototype
bool b
Base
must support the following functions
(in the CppAD namespace):
Syntax | Result |
b = IdenticalCon(u)
|
the
Base
value will always be the same
|
b = IdenticalZero(u)
|
u
equals zero and
IdenticalCon(u)
|
b = IdenticalOne(u)
|
u
equals one and
IdenticalCon(u)
|
b = IdenticalEqualCon(u, v)
|
u
equals
v
,
IdenticalCon(u)
and
IdenticalCon(v)
|