Public Member Functions | Protected Member Functions | Private Attributes
Sundance::UserDefOpEvaluator Class Reference
Inheritance diagram for Sundance::UserDefOpEvaluator:
Sundance::ChainRuleEvaluator Sundance::SubtypeEvaluator< ExprWithChildren > Sundance::Evaluator Sundance::ObjectWithClassVerbosity< Evaluator > Sundance::DefaultObjectWithVerbosity Sundance::ObjectWithVerbosityBase

List of all members.

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
 Evaluate the derivatives of the expression with respect to the arguments.
 TEUCHOS_TIMER (evalTimer,"user defined nonlinear op evaluation")
void resetNumCalls () const
 Reset the number of calls to zero.

Protected Member Functions

Array< int > findRequiredOrders (const ExprWithChildren *expr, const EvalContext &context)
const UserDefFunctorElementfunctor () const
const UserDefOpCommonEvaluatorcommonEval () const
int myIndex () const

Private Attributes

Array< int > argValueIndex_
Array< int > argValueIsConstant_
const UserDefFunctorElementfunctor_
RCP< const
UserDefOpCommonEvaluator
commonEval_
int maxOrder_
int numVarArgDerivs_
int numConstArgDerivs_
bool allArgsAreConstant_

Detailed Description

Definition at line 51 of file SundanceUserDefOpEvaluator.hpp.


Constructor & Destructor Documentation

UserDefOpEvaluator::UserDefOpEvaluator ( const UserDefOpElement expr,
const RCP< const UserDefOpCommonEvaluator > &  commonEval,
const EvalContext context 
)
virtual Sundance::UserDefOpEvaluator::~UserDefOpEvaluator ( ) [inline, virtual]

Definition at line 60 of file SundanceUserDefOpEvaluator.hpp.


Member Function Documentation

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 > > > &  constDerivsOfArgs,
const Array< RCP< Array< RCP< EvalVector > > > > &  varDerivOfArgs,
Array< double > &  constArgDerivs,
Array< RCP< EvalVector > > &  varArgDerivs 
) const [virtual]

Evaluate the derivatives of the expression with respect to the arguments.

Parameters:
mgrManager for this evaluation step
constDerivsOfArgsConstant values and functional derivatives of arguments. The outer array index is over arguments. The inner array index is over functional derivatives of that argument.
varDerivsOfArgsVariable values and functional derivatives of arguments. The outer array index is over arguments. The inner array index is over functional derivatives of that argument.
constArgDerivsConstant-valued derivatives of expr wrt arguments.
varArgDerivsVariable-valued derivatives of expr wrt arguments.

Implements Sundance::ChainRuleEvaluator.

Definition at line 187 of file SundanceUserDefOpEvaluator.cpp.

Array< int > UserDefOpEvaluator::findRequiredOrders ( const ExprWithChildren expr,
const EvalContext context 
) [protected]
const UserDefFunctorElement* Sundance::UserDefOpEvaluator::functor ( ) const [inline, protected]

Definition at line 84 of file SundanceUserDefOpEvaluator.hpp.

References functor_.

int Sundance::UserDefOpEvaluator::myIndex ( ) const [inline, protected]
void UserDefOpEvaluator::resetNumCalls ( ) const [virtual]

Reset the number of calls to zero.

This should be called at the beginning of every new evaluation cycle.

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"   
)

Member Data Documentation

Definition at line 99 of file SundanceUserDefOpEvaluator.hpp.

Definition at line 92 of file SundanceUserDefOpEvaluator.hpp.

Definition at line 93 of file SundanceUserDefOpEvaluator.hpp.

Definition at line 95 of file SundanceUserDefOpEvaluator.hpp.

Referenced by commonEval().

Definition at line 94 of file SundanceUserDefOpEvaluator.hpp.

Referenced by functor(), and myIndex().

Definition at line 96 of file SundanceUserDefOpEvaluator.hpp.

Referenced by findRequiredOrders().

Definition at line 98 of file SundanceUserDefOpEvaluator.hpp.

Definition at line 97 of file SundanceUserDefOpEvaluator.hpp.

Site Contact