Public Member Functions | |
UserDefOpCommonEvaluator (const UserDefFunctor *op, const UserDefOpElement *expr, const EvalContext &context) | |
virtual | ~UserDefOpCommonEvaluator () |
void | evalAllComponents (const EvalManager &mgr, const Array< RCP< Array< double > > > &constArgDerivVals, const Array< RCP< Array< RCP< EvalVector > > > > &vArgDerivVals) const |
const Array< double > & | constArgDerivCache (int elemIndex) const |
const Array< RCP< EvalVector > > & | varArgDerivCache (int elemIndex) const |
bool | cacheIsValid () const |
void | markCacheAsValid () const |
void | markCacheAsInvalid () const |
int | maxDiffOrder () const |
void | updateMaxOrder (int maxOrder) const |
Protected Member Functions | |
const UserDefFunctor * | functor () const |
Private Attributes | |
int | maxOrder_ |
Array< int > | argValueIndex_ |
Array< int > | argValueIsConstant_ |
Array< RCP< Array< double > > > | constArgDerivCache_ |
Array< Array< RCP< EvalVector > > > | varArgDerivCache_ |
bool | cacheIsValid_ |
const UserDefFunctor * | functor_ |
Definition at line 52 of file SundanceUserDefOpCommonEvaluator.hpp.
UserDefOpCommonEvaluator::UserDefOpCommonEvaluator | ( | const UserDefFunctor * | op, | |
const UserDefOpElement * | expr, | |||
const EvalContext & | context | |||
) |
Definition at line 48 of file SundanceUserDefOpCommonEvaluator.cpp.
References Sundance::SparsitySuperset::deriv(), Sundance::UserDefFunctor::domainDim(), Sundance::ExprWithChildren::evaluatableChild(), Sundance::SparsitySuperset::numDerivs(), Sundance::MultipleDeriv::order(), Sundance::EvaluatableExpr::sparsitySuperset(), Sundance::SparsitySuperset::state(), Sundance::ExprBase::toString(), and Sundance::VectorDeriv.
virtual Sundance::UserDefOpCommonEvaluator::~UserDefOpCommonEvaluator | ( | ) | [inline, virtual] |
Definition at line 61 of file SundanceUserDefOpCommonEvaluator.hpp.
bool Sundance::UserDefOpCommonEvaluator::cacheIsValid | ( | ) | const [inline] |
Indicate whether the cached argument derivative values are valid
Definition at line 81 of file SundanceUserDefOpCommonEvaluator.hpp.
References cacheIsValid_.
const Array<double>& Sundance::UserDefOpCommonEvaluator::constArgDerivCache | ( | int | elemIndex | ) | const [inline] |
Get the cached constant-valued argument derivative values for the specified vector component
Definition at line 72 of file SundanceUserDefOpCommonEvaluator.hpp.
References constArgDerivCache_.
void UserDefOpCommonEvaluator::evalAllComponents | ( | const EvalManager & | mgr, | |
const Array< RCP< Array< double > > > & | constArgDerivVals, | |||
const Array< RCP< Array< RCP< EvalVector > > > > & | vArgDerivVals | |||
) | const |
Evaluate all vector components at the specified argument values.
Definition at line 99 of file SundanceUserDefOpCommonEvaluator.cpp.
References Sundance::EvalManager::popVector(), SUNDANCE_MSG2, SUNDANCE_MSG3, and Sundance::EvalManager::verb().
const UserDefFunctor* Sundance::UserDefOpCommonEvaluator::functor | ( | ) | const [inline, protected] |
Access the functor that implements this operator
Definition at line 99 of file SundanceUserDefOpCommonEvaluator.hpp.
References functor_.
void Sundance::UserDefOpCommonEvaluator::markCacheAsInvalid | ( | ) | const [inline] |
Mark the cache as invalid
Definition at line 87 of file SundanceUserDefOpCommonEvaluator.hpp.
References cacheIsValid_.
Referenced by Sundance::UserDefOpEvaluator::resetNumCalls().
void Sundance::UserDefOpCommonEvaluator::markCacheAsValid | ( | ) | const [inline] |
Mark the cache as valid.
Definition at line 84 of file SundanceUserDefOpCommonEvaluator.hpp.
References cacheIsValid_.
int Sundance::UserDefOpCommonEvaluator::maxDiffOrder | ( | ) | const [inline] |
void Sundance::UserDefOpCommonEvaluator::updateMaxOrder | ( | int | maxOrder | ) | const [inline] |
const Array<RCP<EvalVector> >& Sundance::UserDefOpCommonEvaluator::varArgDerivCache | ( | int | elemIndex | ) | const [inline] |
Get the cached vector-valued argument derivative values for the specified vector component
Definition at line 77 of file SundanceUserDefOpCommonEvaluator.hpp.
References varArgDerivCache_.
Array<int> Sundance::UserDefOpCommonEvaluator::argValueIndex_ [private] |
Definition at line 103 of file SundanceUserDefOpCommonEvaluator.hpp.
Array<int> Sundance::UserDefOpCommonEvaluator::argValueIsConstant_ [private] |
Definition at line 104 of file SundanceUserDefOpCommonEvaluator.hpp.
bool Sundance::UserDefOpCommonEvaluator::cacheIsValid_ [mutable, private] |
Definition at line 107 of file SundanceUserDefOpCommonEvaluator.hpp.
Referenced by cacheIsValid(), markCacheAsInvalid(), and markCacheAsValid().
Array<RCP<Array<double> > > Sundance::UserDefOpCommonEvaluator::constArgDerivCache_ [mutable, private] |
Definition at line 105 of file SundanceUserDefOpCommonEvaluator.hpp.
Referenced by constArgDerivCache().
const UserDefFunctor* Sundance::UserDefOpCommonEvaluator::functor_ [private] |
int Sundance::UserDefOpCommonEvaluator::maxOrder_ [mutable, private] |
Definition at line 102 of file SundanceUserDefOpCommonEvaluator.hpp.
Referenced by maxDiffOrder(), and updateMaxOrder().
Array<Array<RCP<EvalVector> > > Sundance::UserDefOpCommonEvaluator::varArgDerivCache_ [mutable, private] |
Definition at line 106 of file SundanceUserDefOpCommonEvaluator.hpp.
Referenced by varArgDerivCache().