CppAD: A C++ Algorithmic Differentiation Package
20130918
|
void CppAD::forward_cond_op | ( | size_t | p, |
size_t | q, | ||
size_t | i_z, | ||
const addr_t * | arg, | ||
size_t | num_par, | ||
const Base * | parameter, | ||
size_t | nc_taylor, | ||
Base * | taylor | ||
) | [inline] |
Compute forward mode Taylor coefficients for op = CExpOp.
The C++ source code coresponding to this operation is
z = CondExpRel(y_0, y_1, y_2, y_3)
where Rel is one of the following: Lt, Le, Eq, Ge, Gt.
Base | base type for the operator; i.e., this operation was recorded using AD< Base > and computations by this routine are done using type Base. |
i_z | is the AD variable index corresponding to the variable z. |
arg | arg[0] is static cast to size_t from the enum type enum CompareOp { CompareLt, CompareLe, CompareEq, CompareGe, CompareGt, CompareNe } arg[1] & 1 If this is zero, y_0 is a parameter. Otherwise it is a variable. arg[1] & 2 If this is zero, y_1 is a parameter. Otherwise it is a variable. arg[1] & 4 If this is zero, y_2 is a parameter. Otherwise it is a variable. arg[1] & 8 If this is zero, y_3 is a parameter. Otherwise it is a variable. arg[2 + j ] for j = 0, 1, 2, 3 is the index corresponding to y_j. |
num_par | is the total number of values in the vector parameter. |
parameter | For j = 0, 1, 2, 3, if y_j is a parameter, parameter [ arg[2 + j] ] is its value. |
nc_taylor | number of columns in the matrix containing the Taylor coefficients. |
p | is the lowest order of the Taylor coefficient of z that we are computing. |
q | is the highest order of the Taylor coefficient of z that we are computing. |
taylor | Input: For j = 0, 1, 2, 3 and k = 0 , ... , q, if y_j is a variable then taylor [ arg[2+j] * nc_taylor + k ] is the k-th order Taylor coefficient corresponding to y_j. Input: taylor [ i_z * nc_taylor + k ] for k = 0 , ... , p-1, is the k-th order Taylor coefficient corresponding to z. Output: taylor [ i_z * nc_taylor + k ] for k = p , ... , q, is the k-th order Taylor coefficient corresponding to z. |
Definition at line 293 of file cond_op.hpp.
Referenced by forward1sweep().