Public Member Functions | |
ChainRuleSum (const MultipleDeriv &md, int resultIndex, bool resultIsConstant) | |
void | addTerm (int argDerivIndex, bool argDerivIsConstant, const Array< DerivProduct > &sum) |
void | evalConstant (const EvalManager &mgr, const Array< RCP< Array< double > > > &constantArgResults, const Array< double > &constantArgDerivs, double &constResult) const |
void | evalVar (const EvalManager &mgr, const Array< RCP< Array< double > > > &constantArgResults, const Array< RCP< Array< RCP< EvalVector > > > > &vArgResults, const Array< double > &constantArgDerivs, const Array< RCP< EvalVector > > &varArgDerivs, RCP< EvalVector > &varResult) const |
int | resultIndex () const |
bool | resultIsConstant () const |
int | numTerms () const |
bool | argDerivIsConstant (int i) const |
int | argDerivIndex (int i) const |
const Array< DerivProduct > & | terms (int i) const |
const MultipleDeriv & | deriv () const |
Private Attributes | |
MultipleDeriv | md_ |
int | resultIndex_ |
bool | resultIsConstant_ |
Array< int > | argDerivIndex_ |
Array< int > | argDerivIsConstant_ |
Array< Array< DerivProduct > > | terms_ |
Definition at line 108 of file SundanceChainRuleSum.hpp.
ChainRuleSum::ChainRuleSum | ( | const MultipleDeriv & | md, | |
int | resultIndex, | |||
bool | resultIsConstant | |||
) |
Definition at line 46 of file SundanceChainRuleSum.cpp.
void ChainRuleSum::addTerm | ( | int | argDerivIndex, | |
bool | argDerivIsConstant, | |||
const Array< DerivProduct > & | sum | |||
) |
Definition at line 58 of file SundanceChainRuleSum.cpp.
References argDerivIndex_, argDerivIsConstant_, and terms_.
int Sundance::ChainRuleSum::argDerivIndex | ( | int | i | ) | const [inline] |
bool Sundance::ChainRuleSum::argDerivIsConstant | ( | int | i | ) | const [inline] |
const MultipleDeriv& Sundance::ChainRuleSum::deriv | ( | ) | const [inline] |
void ChainRuleSum::evalConstant | ( | const EvalManager & | mgr, | |
const Array< RCP< Array< double > > > & | constantArgResults, | |||
const Array< double > & | constantArgDerivs, | |||
double & | constResult | |||
) | const |
Definition at line 69 of file SundanceChainRuleSum.cpp.
References Sundance::IndexPair::argIndex(), Sundance::DerivProduct::constant(), Sundance::DerivProduct::numConstants(), SUNDANCE_VERB_HIGH, and Sundance::IndexPair::valueIndex().
void ChainRuleSum::evalVar | ( | const EvalManager & | mgr, | |
const Array< RCP< Array< double > > > & | constantArgResults, | |||
const Array< RCP< Array< RCP< EvalVector > > > > & | vArgResults, | |||
const Array< double > & | constantArgDerivs, | |||
const Array< RCP< EvalVector > > & | varArgDerivs, | |||
RCP< EvalVector > & | varResult | |||
) | const |
Definition at line 99 of file SundanceChainRuleSum.cpp.
References Sundance::IndexPair::argIndex(), Sundance::EvalVector::clone(), Sundance::EvalManager::popVector(), SUNDANCE_VERB_HIGH, and Sundance::IndexPair::valueIndex().
int Sundance::ChainRuleSum::numTerms | ( | ) | const [inline] |
int Sundance::ChainRuleSum::resultIndex | ( | ) | const [inline] |
bool Sundance::ChainRuleSum::resultIsConstant | ( | ) | const [inline] |
const Array<DerivProduct>& Sundance::ChainRuleSum::terms | ( | int | i | ) | const [inline] |
Array<int> Sundance::ChainRuleSum::argDerivIndex_ [private] |
Definition at line 162 of file SundanceChainRuleSum.hpp.
Referenced by addTerm(), and argDerivIndex().
Array<int> Sundance::ChainRuleSum::argDerivIsConstant_ [private] |
Definition at line 163 of file SundanceChainRuleSum.hpp.
Referenced by addTerm(), and argDerivIsConstant().
MultipleDeriv Sundance::ChainRuleSum::md_ [private] |
int Sundance::ChainRuleSum::resultIndex_ [private] |
bool Sundance::ChainRuleSum::resultIsConstant_ [private] |
Array<Array<DerivProduct> > Sundance::ChainRuleSum::terms_ [private] |
Definition at line 164 of file SundanceChainRuleSum.hpp.
Referenced by addTerm(), numTerms(), and terms().