Public Member Functions | |
UserDefOpEvaluator (const UserDefOpElement *expr, const RCP< const UserDefOpCommonEvaluator > &commonEval, const EvalContext &context) | |
virtual | ~UserDefOpEvaluator () |
virtual void | evalArgDerivs (const EvalManager &mgr, const Array< RCP< Array< double > > > &constArgRes, const Array< RCP< Array< RCP< EvalVector > > > > &vArgResults, Array< double > &constArgDerivs, Array< RCP< EvalVector > > &varArgDerivs) const |
TEUCHOS_TIMER (evalTimer,"user defined nonlinear op evaluation") | |
void | resetNumCalls () const |
Protected Member Functions | |
Array< int > | findRequiredOrders (const ExprWithChildren *expr, const EvalContext &context) |
const UserDefFunctorElement * | functor () const |
const UserDefOpCommonEvaluator * | commonEval () const |
int | myIndex () const |
Private Attributes | |
Array< int > | argValueIndex_ |
Array< int > | argValueIsConstant_ |
const UserDefFunctorElement * | functor_ |
RCP< const UserDefOpCommonEvaluator > | commonEval_ |
int | maxOrder_ |
int | numVarArgDerivs_ |
int | numConstArgDerivs_ |
bool | allArgsAreConstant_ |
Definition at line 51 of file SundanceUserDefOpEvaluator.hpp.
UserDefOpEvaluator::UserDefOpEvaluator | ( | const UserDefOpElement * | expr, | |
const RCP< const UserDefOpCommonEvaluator > & | commonEval, | |||
const EvalContext & | context | |||
) |
Definition at line 50 of file SundanceUserDefOpEvaluator.cpp.
References Sundance::SparsitySuperset::deriv(), Sundance::UserDefOpElement::getArgDerivIndices(), Sundance::init(), Sundance::ExprWithChildren::numChildren(), Sundance::SparsitySuperset::numDerivs(), Sundance::MultipleDeriv::order(), Sundance::SparsitySuperset::state(), SUNDANCE_VERB_EXTREME, SUNDANCE_VERB_HIGH, SUNDANCE_VERB_LOW, Sundance::ExprBase::toString(), and Sundance::VectorDeriv.
virtual Sundance::UserDefOpEvaluator::~UserDefOpEvaluator | ( | ) | [inline, virtual] |
Definition at line 60 of file SundanceUserDefOpEvaluator.hpp.
const UserDefOpCommonEvaluator* Sundance::UserDefOpEvaluator::commonEval | ( | ) | const [inline, protected] |
Definition at line 86 of file SundanceUserDefOpEvaluator.hpp.
References commonEval_.
Referenced by resetNumCalls().
void UserDefOpEvaluator::evalArgDerivs | ( | const EvalManager & | mgr, | |
const Array< RCP< Array< double > > > & | constArgRes, | |||
const Array< RCP< Array< RCP< EvalVector > > > > & | vArgResults, | |||
Array< double > & | constArgDerivs, | |||
Array< RCP< EvalVector > > & | varArgDerivs | |||
) | const [virtual] |
Implements Sundance::ChainRuleEvaluator.
Definition at line 187 of file SundanceUserDefOpEvaluator.cpp.
Array< int > UserDefOpEvaluator::findRequiredOrders | ( | const ExprWithChildren * | expr, | |
const EvalContext & | context | |||
) | [protected] |
Definition at line 152 of file SundanceUserDefOpEvaluator.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::elements(), Sundance::Set< Key, Compare >::end(), Sundance::ExprWithChildren::findQ_W(), Sundance::EvaluatableExpr::findR(), maxOrder_, Sundance::Set< Key, Compare >::put(), and SUNDANCE_VERB_HIGH.
const UserDefFunctorElement* Sundance::UserDefOpEvaluator::functor | ( | ) | const [inline, protected] |
int Sundance::UserDefOpEvaluator::myIndex | ( | ) | const [inline, protected] |
Definition at line 89 of file SundanceUserDefOpEvaluator.hpp.
References functor_, and Sundance::UserDefFunctorElement::myIndex().
void UserDefOpEvaluator::resetNumCalls | ( | ) | const [virtual] |
Reimplemented from Sundance::ChainRuleEvaluator.
Definition at line 143 of file SundanceUserDefOpEvaluator.cpp.
References commonEval(), and Sundance::UserDefOpCommonEvaluator::markCacheAsInvalid().
Sundance::UserDefOpEvaluator::TEUCHOS_TIMER | ( | evalTimer | , | |
"user defined nonlinear op evaluation" | ||||
) |
bool Sundance::UserDefOpEvaluator::allArgsAreConstant_ [private] |
Definition at line 99 of file SundanceUserDefOpEvaluator.hpp.
Array<int> Sundance::UserDefOpEvaluator::argValueIndex_ [private] |
Definition at line 92 of file SundanceUserDefOpEvaluator.hpp.
Array<int> Sundance::UserDefOpEvaluator::argValueIsConstant_ [private] |
Definition at line 93 of file SundanceUserDefOpEvaluator.hpp.
RCP<const UserDefOpCommonEvaluator> Sundance::UserDefOpEvaluator::commonEval_ [private] |
const UserDefFunctorElement* Sundance::UserDefOpEvaluator::functor_ [private] |
Definition at line 94 of file SundanceUserDefOpEvaluator.hpp.
int Sundance::UserDefOpEvaluator::maxOrder_ [private] |
int Sundance::UserDefOpEvaluator::numConstArgDerivs_ [private] |
Definition at line 98 of file SundanceUserDefOpEvaluator.hpp.
int Sundance::UserDefOpEvaluator::numVarArgDerivs_ [private] |
Definition at line 97 of file SundanceUserDefOpEvaluator.hpp.