1 # ifndef CPPAD_CORE_NUM_SKIP_HPP
2 # define CPPAD_CORE_NUM_SKIP_HPP
71 template <
typename Base>
80 size_t user_old=0, user_m=0, user_n=0;
83 size_t num_var_skip = 0;
87 play_.get_op_info(i_op, op, arg, i_var);
91 play_.get_op_info(++i_op, op, arg, i_var);
95 bool skip_call = cskip_op_[i_op];
96 play_.get_user_info(op, arg, user_old, user_m, user_n);
98 size_t num_op = user_m + user_n + 1;
99 for(
size_t i = 0; i < num_op; i++)
100 { play_.get_op_info(++i_op, op, arg, i_var);
102 num_var_skip +=
NumRes(op);
107 {
if( cskip_op_[i_op] )
108 num_var_skip +=
NumRes(op);
CPPAD_TAPE_ADDR_TYPE addr_t
size_t NumRes(OpCode op)
Number of variables resulting from the specified operation.
OpCode
Type used to distinguish different AD< Base > atomic operations.
#define CPPAD_ASSERT_UNKNOWN(exp)
Check that exp is true, if not terminate execution.
size_t number_skip(void)
number of variables in conditional expressions that can be skipped