Sundance::UserDefOpCommonEvaluator Class Reference

UserDefOpCommonEvaluator provides a single evaluation point for all components of a vector-valued functor. More...

Inheritance diagram for Sundance::UserDefOpCommonEvaluator:

Sundance::ObjectWithClassVerbosity< Evaluator > Playa::ObjectWithVerbosity

List of all members.

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
 Evaluate all vector components at the specified argument values.
const Array< double > & constArgDerivCache (int elemIndex) const
 Get the cached constant-valued argument derivative values for the specified vector component.
const Array< RCP< EvalVector > > & varArgDerivCache (int elemIndex) const
 Get the cached vector-valued argument derivative values for the specified vector component.
bool cacheIsValid () const
 Indicate whether the cached argument derivative values are valid.
void markCacheAsValid () const
 Mark the cache as valid.
void markCacheAsInvalid () const
 Mark the cache as invalid.
int maxDiffOrder () const
void updateMaxOrder (int maxOrder) const

Protected Member Functions

const UserDefFunctorfunctor () const
 Access the functor that implements this operator.

Private Attributes

int maxOrder_
Array< int > argValueIndex_
Array< int > argValueIsConstant_
Array< RCP< Array< double > > > constArgDerivCache_
Array< Array< RCP< EvalVector > > > varArgDerivCache_
bool cacheIsValid_
const UserDefFunctorfunctor_


Detailed Description

UserDefOpCommonEvaluator provides a single evaluation point for all components of a vector-valued functor.

Definition at line 52 of file SundanceUserDefOpCommonEvaluator.hpp.


Constructor & Destructor Documentation

UserDefOpCommonEvaluator::UserDefOpCommonEvaluator ( const UserDefFunctor op,
const UserDefOpElement expr,
const EvalContext context 
)

virtual Sundance::UserDefOpCommonEvaluator::~UserDefOpCommonEvaluator (  )  [inline, virtual]

Definition at line 61 of file SundanceUserDefOpCommonEvaluator.hpp.


Member Function Documentation

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]

Definition at line 90 of file SundanceUserDefOpCommonEvaluator.hpp.

References maxOrder_.

void Sundance::UserDefOpCommonEvaluator::updateMaxOrder ( int  maxOrder  )  const [inline]

Definition at line 93 of file SundanceUserDefOpCommonEvaluator.hpp.

References maxOrder_.

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_.


Member Data Documentation

Definition at line 103 of file SundanceUserDefOpCommonEvaluator.hpp.

Definition at line 104 of file SundanceUserDefOpCommonEvaluator.hpp.

Array<RCP<Array<double> > > Sundance::UserDefOpCommonEvaluator::constArgDerivCache_ [mutable, private]

Definition at line 105 of file SundanceUserDefOpCommonEvaluator.hpp.

Referenced by constArgDerivCache().

Definition at line 108 of file SundanceUserDefOpCommonEvaluator.hpp.

Referenced by functor().

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().

Site Contact