CppADCodeGen
HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
|
Public Member Functions | |
EquationPattern (const CG< Base > &ref, size_t iDepRef) | |
EquationPattern (const EquationPattern< Base > &other)=delete | |
EquationPattern & | operator= (const EquationPattern< Base > &rhs)=delete |
bool | testAdd (size_t iDep2, const CG< Base > &dep2, size_t &minColor, CodeHandlerVector< Base, size_t > &varColor) |
void | findIndexedPath (size_t dep, const std::vector< CG< Base > > &depVals, CodeHandlerVector< Base, bool > &varIndexed, std::set< const OperationNode< Base > *> &indexedOperations) |
std::set< const OperationNode< Base > * > | findOperationsUsingIndependents (OperationNode< Base > &node) const |
bool | containsConstantIndependent (const OperationNode< Base > *operation, size_t argumentIndex) const |
void | detectNonIndexedIndependents () |
Static Public Member Functions | |
static void | uncolor (OperationNode< Base > *node, CodeHandlerVector< Base, bool > &varIndexed) |
Public Attributes | |
const CG< Base > & | depRef |
const size_t | depRefIndex |
std::set< size_t > | dependents |
std::map< size_t, std::map< const OperationNode< Base > *, OperationNode< Base > * > > | operationEO2Reference |
IndexedIndependent< Base > | indexedOpIndep |
std::map< const OperationNode< Base > *, std::set< size_t > > | constOperationIndependents |
Group of variables with the same evaluation pattern (same equation different variables)
Definition at line 96 of file declare_cg.hpp.
|
inline |
Determine which independent variables in the loop model do not require an index (always the same for all iterations)
Definition at line 181 of file equation_pattern.hpp.
std::map<const OperationNode<Base>*, std::set<size_t> > CppAD::cg::EquationPattern< Base >::constOperationIndependents |
reference operation -> non indexed argument positions
Definition at line 85 of file equation_pattern.hpp.
IndexedIndependent<Base> CppAD::cg::EquationPattern< Base >::indexedOpIndep |
Maps the operations that used an indexed independents as direct arguments (reference operation -> argument indexes -> dependent <-> independents)
Definition at line 81 of file equation_pattern.hpp.
Referenced by CppAD::cg::Loop< Base >::createLoopModel().
std::map<size_t, std::map<const OperationNode<Base>*, OperationNode<Base>*> > CppAD::cg::EquationPattern< Base >::operationEO2Reference |
maps node ID used by all dependents to the operations of the reference dependent [dependent index][op] = reference operation
Definition at line 74 of file equation_pattern.hpp.
Referenced by CppAD::cg::Loop< Base >::createLoopModel().