Public Member Functions | |
DiscreteFuncElement (const RCP< DiscreteFuncDataStub > &data, const std::string &name, const std::string &suffix, const FunctionIdentifier &fid, int myIndexIntoVector) | |
virtual | ~DiscreteFuncElement () |
RCP< const DiscreteFuncDataStub > | commonData () const |
DiscreteFuncDataStub * | commonData () |
int | myIndex () const |
void | addMultiIndex (const MultiIndex &newMi) const |
int | maxDiffOrderOnDiscreteFunctions () const |
virtual bool | hasDiscreteFunctions () const |
virtual bool | hasTestFunctions () const |
virtual Set< MultipleDeriv > | internalFindW (int order, const EvalContext &context) const |
virtual Set< MultipleDeriv > | internalFindV (int order, const EvalContext &context) const |
virtual Set< MultipleDeriv > | internalFindC (int order, const EvalContext &context) const |
virtual RCP< Array< Set < MultipleDeriv > > > | internalDetermineR (const EvalContext &context, const Array< Set< MultipleDeriv > > &RInput) const |
virtual XMLObject | toXML () const |
const Set< MultiIndex > & | multiIndexSet () const |
virtual RCP< ExprBase > | getRcp () |
bool | lessThan (const ScalarExpr *other) const |
Private Attributes | |
RCP< DiscreteFuncDataStub > | commonData_ |
Set< MultiIndex > | miSet_ |
int | myIndex_ |
DiscreteFuncElement is framework-independent. Any framework-specific information should go in a subclass of DiscreteFuncDataStub. The DiscreteFuncDataStub object can be accessed through the master()
method of this class.
Definition at line 59 of file SundanceDiscreteFuncElement.hpp.
DiscreteFuncElement::DiscreteFuncElement | ( | const RCP< DiscreteFuncDataStub > & | data, | |
const std::string & | name, | |||
const std::string & | suffix, | |||
const FunctionIdentifier & | fid, | |||
int | myIndexIntoVector | |||
) |
Definition at line 45 of file SundanceDiscreteFuncElement.cpp.
virtual Sundance::DiscreteFuncElement::~DiscreteFuncElement | ( | ) | [inline, virtual] |
virtual destructor
Definition at line 72 of file SundanceDiscreteFuncElement.hpp.
void DiscreteFuncElement::addMultiIndex | ( | const MultiIndex & | newMi | ) | const |
Inform this function that it will need to be evaluated using the specified multiIndex
Definition at line 155 of file SundanceDiscreteFuncElement.cpp.
References miSet_, and Sundance::Set< Key, Compare >::put().
Referenced by Sundance::DiffOp::requestMultiIndexAtEvalPoint().
DiscreteFuncDataStub* Sundance::DiscreteFuncElement::commonData | ( | ) | [inline] |
Get the data associated with the vector-valued function that contains this function element.
Definition at line 81 of file SundanceDiscreteFuncElement.hpp.
References commonData_.
RCP<const DiscreteFuncDataStub> Sundance::DiscreteFuncElement::commonData | ( | ) | const [inline] |
Get the data associated with the vector-valued function that contains this function element.
Definition at line 77 of file SundanceDiscreteFuncElement.hpp.
References commonData_.
Referenced by Sundance::DiscreteFunctionData::getData().
virtual RCP<ExprBase> Sundance::DiscreteFuncElement::getRcp | ( | ) | [inline, virtual] |
Implements Playa::Handleable< ExprBase >.
Reimplemented in Sundance::Parameter.
Definition at line 130 of file SundanceDiscreteFuncElement.hpp.
virtual bool Sundance::DiscreteFuncElement::hasDiscreteFunctions | ( | ) | const [inline, virtual] |
Indicate whether this expression contains discrete functions. This object is a discrete function, so return true.
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 100 of file SundanceDiscreteFuncElement.hpp.
virtual bool Sundance::DiscreteFuncElement::hasTestFunctions | ( | ) | const [inline, virtual] |
Indicate whether this expression contains test functions. This object is a discrete function, so return false.
Reimplemented from Sundance::ScalarExpr.
Definition at line 106 of file SundanceDiscreteFuncElement.hpp.
RCP< Array< Set< MultipleDeriv > > > DiscreteFuncElement::internalDetermineR | ( | const EvalContext & | context, | |
const Array< Set< MultipleDeriv > > & | RInput | |||
) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::Parameter.
Definition at line 58 of file SundanceDiscreteFuncElement.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Deriv::coordDeriv(), Sundance::Set< Key, Compare >::end(), Sundance::MultiIndex::order(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, and Sundance::EvalContext::toString().
Set< MultipleDeriv > DiscreteFuncElement::internalFindC | ( | int | order, | |
const EvalContext & | context | |||
) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::Parameter.
Definition at line 146 of file SundanceDiscreteFuncElement.cpp.
References Sundance::EvalContext::setupVerbosity(), and SUNDANCE_MSG2.
Set< MultipleDeriv > DiscreteFuncElement::internalFindV | ( | int | order, | |
const EvalContext & | context | |||
) | const [virtual] |
Reimplemented from Sundance::EvaluatableExpr.
Reimplemented in Sundance::Parameter.
Definition at line 113 of file SundanceDiscreteFuncElement.cpp.
References Sundance::EvaluatableExpr::activeSpatialDerivs(), Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::contains(), Sundance::coordDeriv(), Sundance::Set< Key, Compare >::end(), Sundance::EvaluatableExpr::findR(), Sundance::Set< Key, Compare >::intersection(), Sundance::MultiIndex::order(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::verb().
Set< MultipleDeriv > DiscreteFuncElement::internalFindW | ( | int | order, | |
const EvalContext & | context | |||
) | const [virtual] |
Implements Sundance::EvaluatableExpr.
Reimplemented in Sundance::Parameter.
Definition at line 81 of file SundanceDiscreteFuncElement.cpp.
References Sundance::EvaluatableExpr::activeSpatialDerivs(), Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::contains(), Sundance::coordDeriv(), Sundance::Set< Key, Compare >::end(), Sundance::MultiIndex::order(), Sundance::Set< Key, Compare >::put(), Sundance::EvalContext::setupVerbosity(), SUNDANCE_MSG2, SUNDANCE_MSG3, Sundance::ExprBase::toString(), and Playa::ObjectWithVerbosity::verb().
bool DiscreteFuncElement::lessThan | ( | const ScalarExpr * | other | ) | const [virtual] |
Reimplemented from Sundance::FuncElementBase.
Definition at line 168 of file SundanceDiscreteFuncElement.cpp.
References Sundance::FunctionWithID::fid().
int Sundance::DiscreteFuncElement::maxDiffOrderOnDiscreteFunctions | ( | ) | const [inline, virtual] |
Find the maximum differentiation order acting on discrete functions in this expression.
Reimplemented from Sundance::EvaluatableExpr.
Definition at line 94 of file SundanceDiscreteFuncElement.hpp.
const Set<MultiIndex>& Sundance::DiscreteFuncElement::multiIndexSet | ( | ) | const [inline] |
int Sundance::DiscreteFuncElement::myIndex | ( | ) | const [inline] |
Get my index into the master's list of elements
Definition at line 84 of file SundanceDiscreteFuncElement.hpp.
References myIndex_.
Referenced by Sundance::CurveEvalMediator::evalDiscreteFuncElement(), and Sundance::ExprFieldWrapper::ExprFieldWrapper().
XMLObject DiscreteFuncElement::toXML | ( | ) | const [virtual] |
Implements Sundance::ExprBase.
Reimplemented in Sundance::Parameter.
Definition at line 160 of file SundanceDiscreteFuncElement.cpp.
References Sundance::FuncElementBase::name().
Referenced by Sundance::DiscreteFunctionData::getData().
RCP<DiscreteFuncDataStub> Sundance::DiscreteFuncElement::commonData_ [private] |
Set<MultiIndex> Sundance::DiscreteFuncElement::miSet_ [mutable, private] |
Definition at line 139 of file SundanceDiscreteFuncElement.hpp.
Referenced by addMultiIndex(), and multiIndexSet().
int Sundance::DiscreteFuncElement::myIndex_ [private] |