see subgraph_sparsity . This would be simpler for the user.
afun.jac_sparsity(select_domain, select_range, pattern_out)
afun.hes_sparsity(select_domain, select_range, pattern_out)
for_sparse_jaccould check x to see for which components are variables; i.e., isnan(x[j]) is true for a particular call. Note that vx should be removed, because the method above can be used to determine this information.
check_finite(not infinite or nan) so that error detection happens during zero order forward instead of later.
check_finiteroutine made writing the zero order values optional.
sizemember function returns a
size_tinstead of an
int. This would allow TESTVECTOR to be a true template class; i.e., to use the syntax
and have the optimizer recognize when they should be used. (They could also be in the user API, but it would not be expected that the user would use them.)
square(x) = x * x
AD<double>so that one does not need to re-compile all the header files every time.
Baseoperation sequence does not depend on any of the independent variable values. This could be returned as an extra seq_property .
with a tab after the else. Automatic conversion to actual spaces should be easy.if( expression ) statement else statement
to find all the possible tracing flags.grep '^# *define *CPPAD_.*_TRACE' cppad/local/*.hpp