CppAD: A C++ Algorithmic Differentiation Package
20130918
|
void CppAD::forward_cskip_op_0 | ( | size_t | i_z, |
const addr_t * | arg, | ||
size_t | num_par, | ||
const Base * | parameter, | ||
size_t | nc_taylor, | ||
Base * | taylor, | ||
bool * | cskip_op | ||
) | [inline] |
Zero order forward mode execution of op = CSkipOp.
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 | variable index corresponding to the result of the previous operation. This is used for error checking. To be specific, the left and right operands for the CExpOp operation must have indexes less than or equal this value. |
arg | [in] 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, left is a a parameter. Otherwise it is a variable. arg[1] & 2 If this is zero, right is a parameter. Otherwise it is a variable. arg[2] is the index corresponding to left in comparision. arg[3] is the index corresponding to right in comparision. arg[4] is the number of operations to skip if the comparision result is true. arg[5] is the number of operations to skip if the comparision result is false. arg[5+i] for i = 1 , ... , arg[4] are the operations to skip if the comparision result is true. arg[5+arg[4]+i] for i = 1 , ... , arg[5] are the operations to skip if the comparision result is false. |
num_par | [in] is the total number of values in the vector parameter. |
parameter | [in] If left is a parameter, parameter [ arg[2] ] is its value. If right is a parameter, parameter [ arg[3] ] is its value. |
nc_taylor | [in] number of columns in the matrix containing the Taylor coefficients. |
taylor | [in] If left is a variable, taylor [ arg[2] * nc_taylor + 0 ] is the zeroth order Taylor coefficient corresponding to left. If right is a variable, taylor [ arg[3] * nc_taylor + 0 ] is the zeroth order Taylor coefficient corresponding to right. |
\cskip_op | [in,out] is vector specifying which operations are at this point are know to be unecessary and can be skipped. This is both an input and an output. |
Definition at line 109 of file cskip_op.hpp.
Referenced by forward0sweep(), and forward1sweep().