CppAD: A C++ Algorithmic Differentiation Package 20110419
optimize.hpp File Reference

Routines for optimizing a tape. More...

Go to the source code of this file.

Classes

struct  optimize_old_variable
 Structure used by optimize to hold information about one variable. More...
struct  optimize_csum_variable
 Structures used by optimize_record_csum to hold information about one variable. More...
struct  optimize_csum_stacks
 Structure used to pass work space from optimize to optimize_record_csum (so that stacks do not start from zero size every time). More...

Enumerations

enum  optimize_connection { not_connected, yes_connected, sum_connected, csum_connected }
 State for this variable set during reverse sweep. More...

Functions

template<class Base >
void optimize_prototype (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par)
 Documents arguments that are common to optimization helper functions (should not be called).
template<class Base >
size_t optimize_unary_match (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, const CppAD::vector< size_t > &hash_table_var, unsigned short &code)
 Check a unary operator for a complete match with a previous operator.
template<class Base >
size_t optimize_binary_match (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, const CppAD::vector< size_t > &hash_table_var, unsigned short &code)
 Check a binary operator for a complete match with a previous operator,.
template<class Base >
size_t optimize_record_pv (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, recorder< Base > *rec, OpCode op, const size_t *arg)
 Record an operation of the form (parameter op variable).
template<class Base >
size_t optimize_record_vp (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, recorder< Base > *rec, OpCode op, const size_t *arg)
 Record an operation of the form (variable op parameter).
template<class Base >
size_t optimize_record_vv (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, recorder< Base > *rec, OpCode op, const size_t *arg)
 Record an operation of the form (variable op variable).
template<class Base >
size_t optimize_record_csum (const CppAD::vector< struct optimize_old_variable > &tape, size_t current, size_t npar, const Base *par, recorder< Base > *rec, optimize_csum_stacks &work)
 Recording a cummulative cummulative summation starting at its highest parrent.
template<class Base >
void optimize (size_t n, CppAD::vector< size_t > &dep_taddr, player< Base > *play, recorder< Base > *rec)
 Convert a player object to an optimized recorder object.

Detailed Description

Routines for optimizing a tape.

Definition in file optimize.hpp.