CppAD: A C++ Algorithmic Differentiation Package  20171217
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
CppAD::local::optimize Namespace Reference

Classes

struct  struct_cexp_info
 Information about one conditional expression. More...
 
struct  struct_cskip_new
 
struct  struct_csum_stacks
 Information about one cumulative summation operation. More...
 
struct  struct_csum_variable
 Information about one old variable that is part of a new CSumOp operation. More...
 
struct  struct_old2new
 Information that maps old an old operator to a new opeator and new variable. More...
 
struct  struct_opt_op_info
 information for one operator More...
 
struct  struct_size_pair
 

Enumerations

enum  enum_usage { no_usage, yes_usage, csum_usage }
 

Functions

bool add_or_subtract (OpCode op)
 Is this an addition or subtraction operator. More...
 
template<class Base >
void get_opt_op_info (bool conditional_skip, bool compare_op, bool print_for_op, const player< Base > *play, const vector< size_t > &dep_taddr, vector< struct_cexp_info > &cexp_info, sparse_list &skip_op_true, sparse_list &skip_op_false, vector< bool > &vecad_used, vector< struct_opt_op_info > &opt_op_info)
 Get variable to operator map and operator basic operator information. More...
 
template<class Base >
void match_op (const player< Base > *play, vector< struct_opt_op_info > &opt_op_info, size_t current, sparse_list &hash_table_op)
 Search for a previous operator that matches the current one. More...
 
size_t optimize_hash_code (OpCode op, size_t num_arg, const addr_t *arg)
 Specialized hash code for a CppAD operator and its arguments (used during optimization). More...
 
template<class Base >
void optimize_run (const std::string &options, size_t n, CppAD::vector< size_t > &dep_taddr, const player< Base > *play, recorder< Base > *rec)
 Convert a player object to an optimized recorder object. More...
 
template<class Base >
struct_size_pair record_csum (const player< Base > *play, const vector< struct_opt_op_info > &opt_op_info, const CppAD::vector< struct struct_old2new > &old2new, size_t current, recorder< Base > *rec, struct_csum_stacks &work)
 Recording a cummulative cummulative summation. More...
 
template<class Base >
struct_size_pair record_pv (const player< Base > *play, const CppAD::vector< struct struct_old2new > &old2new, size_t i_op, recorder< Base > *rec)
 Record an operation of the form (parameter op variable). More...
 
template<class Base >
struct_size_pair record_vp (const player< Base > *play, const CppAD::vector< struct struct_old2new > &old2new, size_t i_op, recorder< Base > *rec)
 Record an operation of the form (variable op parameter). More...
 
template<class Base >
struct_size_pair record_vv (const player< Base > *play, const CppAD::vector< struct struct_old2new > &old2new, size_t i_op, recorder< Base > *rec)
 Record an operation of the form (variable op variable). More...
 
template<class Base >
void usage_cexp_result2arg (const player< Base > *play, bool sum_result, size_t i_result, size_t i_arg, vector< struct_opt_op_info > &opt_op_info, sparse_list &cexp_set)
 Increarse argument usage and propagate cexp_set from result to argument. More...