CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
template<class Base >
void CppAD::local::forward_cskip_op_0 ( size_t  i_z,
const addr_t *  arg,
size_t  num_par,
const Base *  parameter,
size_t  cap_order,
Base *  taylor,
bool *  cskip_op 
)
inline

Zero order forward mode execution of op = CSkipOp.

Parameters and Variables
The terms parameter and variable depend on if we are referring to its AD<Base> or Base value. We use Base parameter and Base variable to refer to the correspond Base value. We use AD<Base> parameter and AD<Base> variable to refer to the correspond AD<Base> value.
Template Parameters
Basebase type for the operator; i.e., this operation was recorded using AD<Base> and computations by this routine are done using type Base.
Parameters
i_zvariable 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
     }
for this operation. Note that arg[0] cannot be equal to CompareNe.

arg[1] & 1
If this is zero, left is an AD<Base> parameter. Otherwise it is an AD<Base> variable.

arg[1] & 2
If this is zero, right is an AD<Base> parameter. Otherwise it is an AD<Base> 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 and both left and right are identically Base parameters.
arg[5+arg[4]+i] for i = 1 , ... , arg[5] are the operations to skip if the comparision result is false and both left and right are identically Base parameters.
num_par[in] is the total number of values in the vector parameter.
parameter[in] If left is an AD<Base> parameter, parameter [ arg[2] ] is its value. If right is an AD<Base> parameter, parameter [ arg[3] ] is its value.
cap_order[in] number of columns in the matrix containing the Taylor coefficients.
taylor[in] If left is an AD<Base> variable, taylor [ arg[2] * cap_order + 0 ] is the zeroth order Taylor coefficient corresponding to left. If right is an AD<Base> variable, taylor [ arg[3] * cap_order + 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 119 of file cskip_op.hpp.

Referenced by forward0sweep(), and forward1sweep().