CppADCodeGen  HEAD
A C++ Algorithmic Differentiation Package with Source Code Generation
CppAD::cg::EquationGroup< Base > Class Template Reference
Collaboration diagram for CppAD::cg::EquationGroup< Base >:
Collaboration graph

Public Member Functions

void findReferenceIteration ()
 
long findIndexedLinkedDependent (size_t dep) const
 
size_t getLinkedEquationsByNonIndexedCount () const
 
size_t findNonIndexedLinkedRel (EquationPattern< Base > *eq) const
 
void addLinkedEquationsByNonIndexed (EquationPattern< Base > *eq1, EquationPattern< Base > *eq2)
 

Public Attributes

std::set< EquationPattern< Base > * > equations
 
std::vector< std::set< size_t > > linkedDependents
 
std::vector< std::set< EquationPattern< Base > * > > linkedEquationsByNonIndexedRel
 
std::set< EquationPattern< Base > * > linkedEquationsByNonIndexed
 
std::vector< std::set< size_t > > iterationDependents
 
size_t refIteration
 

Detailed Description

template<class Base>
class CppAD::cg::EquationGroup< Base >

A groups of equations which share common temporary variables

Definition at line 25 of file equation_group.hpp.

Member Data Documentation

◆ equations

template<class Base>
std::set<EquationPattern<Base>*> CppAD::cg::EquationGroup< Base >::equations

The equations in this group

Definition at line 30 of file equation_group.hpp.

Referenced by CppAD::cg::Loop< Base >::createLoopModel(), and CppAD::cg::Loop< Base >::generateDependentLoopIndexes().

◆ iterationDependents

template<class Base>
std::vector<std::set<size_t> > CppAD::cg::EquationGroup< Base >::iterationDependents

The evaluated dependents in each loop iteration ([iteration 1]{dep1, dep3, ...}; [iteration 2]{dep5, dep6, ...}; ...)

Definition at line 46 of file equation_group.hpp.

Referenced by CppAD::cg::Loop< Base >::createLoopModel(), CppAD::cg::Loop< Base >::generateDependentLoopIndexes(), and CppAD::cg::Loop< Base >::~Loop().

◆ linkedDependents

template<class Base>
std::vector<std::set<size_t> > CppAD::cg::EquationGroup< Base >::linkedDependents

Which dependents (equation indexes) must be evaluated at the same time due to shared indexed temporary variables

Definition at line 35 of file equation_group.hpp.

Referenced by CppAD::cg::Loop< Base >::generateDependentLoopIndexes().

◆ linkedEquationsByNonIndexedRel

template<class Base>
std::vector<std::set<EquationPattern<Base>*> > CppAD::cg::EquationGroup< Base >::linkedEquationsByNonIndexedRel

Which equation pattern should be evaluated at the same time due to shared non-indexed temporary variables

Definition at line 40 of file equation_group.hpp.

Referenced by CppAD::cg::Loop< Base >::generateDependentLoopIndexes().

◆ refIteration

template<class Base>
size_t CppAD::cg::EquationGroup< Base >::refIteration

Reference iteration where all equations are present

Definition at line 50 of file equation_group.hpp.

Referenced by CppAD::cg::Loop< Base >::createLoopModel(), and CppAD::cg::Loop< Base >::~Loop().


The documentation for this class was generated from the following file: