
Public Member Functions | |
| FunctionalPolynomial (const RCP< ScalarExpr > &expr) | |
| FunctionalPolynomial (const Map< int, RCP< ScalarExpr > > &funcs, const Map< int, Set< MultiIndex > > &funcMultiIndices, const Array< Map< MultipleDeriv, RCP< ScalarExpr > > > &coeffs) | |
| virtual | ~FunctionalPolynomial () |
| virtual Set< MultipleDeriv > | internalFindW (int order, const EvalContext &context) const |
| virtual RCP< ExprBase > | getRcp () |
| virtual Evaluator * | createEvaluator (const EvaluatableExpr *expr, const EvalContext &context) const |
| RCP< FunctionalPolynomial > | addPoly (const FunctionalPolynomial *other, int sign) const |
| RCP< FunctionalPolynomial > | multiplyPoly (const FunctionalPolynomial *other) const |
| RCP< FunctionalPolynomial > | multiplyScalar (const RCP< ScalarExpr > &alpha) const |
| RCP< FunctionalPolynomial > | addFunction (const RCP< ScalarExpr > &u, int sign) const |
| virtual std::ostream & | toText (std::ostream &os, bool paren) const |
| virtual XMLObject | toXML () const |
| virtual bool | lessThan (const ScalarExpr *other) const |
Static Public Member Functions | |
| static bool | isConvertibleToPoly (const ScalarExpr *expr) |
| static RCP< FunctionalPolynomial > | toPoly (const RCP< ScalarExpr > &expr) |
Private Member Functions | |
| Set< Deriv > | findFuncsForSummation (const Set< MultipleDeriv > &prevSet, const MultipleDeriv &thisSet) const |
| MultipleDeriv | successorTerm (const MultipleDeriv &md) const |
| void | stepRecurrence (int level, const Map< MultipleDeriv, std::string > &sPrev, Map< MultipleDeriv, std::string > &sCurr) const |
| std::string | evalString () const |
Private Attributes | |
| Map< int, RCP< ScalarExpr > > | funcs_ |
| Map< int, Set< MultiIndex > > | funcMultiIndices_ |
| Array< Map< MultipleDeriv, RCP < ScalarExpr > > > | coeffs_ |
| Array< Set< MultipleDeriv > > | keys_ |
Definition at line 50 of file SundanceFunctionalPolynomial.hpp.
| FunctionalPolynomial::FunctionalPolynomial | ( | const RCP< ScalarExpr > & | expr | ) |
ctor
Definition at line 50 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, Sundance::funcDeriv(), funcMultiIndices_, funcs_, isConvertibleToPoly(), keys_, Playa::Handle< PointerType >::ptr(), Sundance::Set< Key, Compare >::put(), Sundance::Map< Key, Value, Compare >::put(), Sundance::MultiSet< Key >::put(), and Sundance::DerivOfSymbFunc::representMeAsFunctionalDeriv().
Referenced by addFunction(), addPoly(), multiplyPoly(), multiplyScalar(), and toPoly().
| FunctionalPolynomial::FunctionalPolynomial | ( | const Map< int, RCP< ScalarExpr > > & | funcs, | |
| const Map< int, Set< MultiIndex > > & | funcMultiIndices, | |||
| const Array< Map< MultipleDeriv, RCP< ScalarExpr > > > & | coeffs | |||
| ) |
ctor
Definition at line 105 of file SundanceFunctionalPolynomial.cpp.
| virtual Sundance::FunctionalPolynomial::~FunctionalPolynomial | ( | ) | [inline, virtual] |
virtual destructor
Definition at line 61 of file SundanceFunctionalPolynomial.hpp.
| RCP< FunctionalPolynomial > FunctionalPolynomial::addFunction | ( | const RCP< ScalarExpr > & | u, | |
| int | sign | |||
| ) | const |
Definition at line 273 of file SundanceFunctionalPolynomial.cpp.
References addPoly(), and FunctionalPolynomial().
| RCP< FunctionalPolynomial > FunctionalPolynomial::addPoly | ( | const FunctionalPolynomial * | other, | |
| int | sign | |||
| ) | const |
Definition at line 137 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, funcMultiIndices_, funcs_, FunctionalPolynomial(), Sundance::Expr::handle(), Playa::Handle< PointerType >::ptr(), and Sundance::Map< Key, Value, Compare >::put().
Referenced by addFunction().
| Evaluator * FunctionalPolynomial::createEvaluator | ( | const EvaluatableExpr * | expr, | |
| const EvalContext & | context | |||
| ) | const [virtual] |
Implements Sundance::EvaluatorFactory.
Definition at line 311 of file SundanceFunctionalPolynomial.cpp.
| string FunctionalPolynomial::evalString | ( | ) | const [private] |
Definition at line 491 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, Playa::Out::os(), and stepRecurrence().
Referenced by toText().
| Set< Deriv > FunctionalPolynomial::findFuncsForSummation | ( | const Set< MultipleDeriv > & | prevSet, | |
| const MultipleDeriv & | thisSet | |||
| ) | const [private] |
Definition at line 382 of file SundanceFunctionalPolynomial.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Set< Key, Compare >::end(), and Sundance::Set< Key, Compare >::put().
| virtual RCP<ExprBase> Sundance::FunctionalPolynomial::getRcp | ( | ) | [inline, virtual] |
Implements Playa::Handleable< ExprBase >.
Definition at line 71 of file SundanceFunctionalPolynomial.hpp.
| Set< MultipleDeriv > FunctionalPolynomial::internalFindW | ( | int | order, | |
| const EvalContext & | context | |||
| ) | const [virtual] |
Implements Sundance::EvaluatableExpr.
Definition at line 128 of file SundanceFunctionalPolynomial.cpp.
| bool FunctionalPolynomial::isConvertibleToPoly | ( | const ScalarExpr * | expr | ) | [static] |
Definition at line 320 of file SundanceFunctionalPolynomial.cpp.
Referenced by Sundance::IdentifyPolynomialSum::doTransform(), and FunctionalPolynomial().
| bool FunctionalPolynomial::lessThan | ( | const ScalarExpr * | other | ) | const [virtual] |
Ordering operator for use in transforming exprs to standard form
Implements Sundance::ScalarExpr.
Definition at line 522 of file SundanceFunctionalPolynomial.cpp.
| RCP< FunctionalPolynomial > FunctionalPolynomial::multiplyPoly | ( | const FunctionalPolynomial * | other | ) | const |
Definition at line 197 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, Sundance::Map< Key, Value, Compare >::containsKey(), funcMultiIndices_, funcs_, FunctionalPolynomial(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Expr::handle(), Sundance::Set< Key, Compare >::merge(), Sundance::MultipleDeriv::product(), Playa::Handle< PointerType >::ptr(), and Sundance::Map< Key, Value, Compare >::put().
| RCP< FunctionalPolynomial > FunctionalPolynomial::multiplyScalar | ( | const RCP< ScalarExpr > & | alpha | ) | const |
Definition at line 280 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, funcMultiIndices_, funcs_, FunctionalPolynomial(), Sundance::Expr::handle(), and Playa::Handle< PointerType >::ptr().
| void FunctionalPolynomial::stepRecurrence | ( | int | level, | |
| const Map< MultipleDeriv, std::string > & | sPrev, | |||
| Map< MultipleDeriv, std::string > & | sCurr | |||
| ) | const [private] |
Definition at line 429 of file SundanceFunctionalPolynomial.cpp.
References Sundance::Set< Key, Compare >::begin(), Sundance::Map< Key, Value, Compare >::containsKey(), Sundance::Set< Key, Compare >::end(), Sundance::Map< Key, Value, Compare >::get(), Sundance::Set< Key, Compare >::merge(), Playa::Out::os(), Sundance::Map< Key, Value, Compare >::put(), Sundance::MultiSet< Key >::put(), Sundance::Set< Key, Compare >::put(), and Sundance::MultiSet< Key >::toString().
Referenced by evalString().
| MultipleDeriv FunctionalPolynomial::successorTerm | ( | const MultipleDeriv & | md | ) | const [private] |
Given a term's key, find the term that will appear as its successor in the evaluation recurrence.
Definition at line 416 of file SundanceFunctionalPolynomial.cpp.
References Sundance::MultiSet< Key >::put().
| RCP< FunctionalPolynomial > FunctionalPolynomial::toPoly | ( | const RCP< ScalarExpr > & | expr | ) | [static] |
Definition at line 335 of file SundanceFunctionalPolynomial.cpp.
References FunctionalPolynomial().
Referenced by Sundance::IdentifyPolynomialSum::doTransform().
| std::ostream & FunctionalPolynomial::toText | ( | std::ostream & | os, | |
| bool | paren | |||
| ) | const [virtual] |
Write a simple text description suitable for output to a terminal
Implements Sundance::ExprBase.
Definition at line 347 of file SundanceFunctionalPolynomial.cpp.
References evalString().
| XMLObject FunctionalPolynomial::toXML | ( | ) | const [virtual] |
Write in XML
Implements Sundance::ExprBase.
Definition at line 354 of file SundanceFunctionalPolynomial.cpp.
References coeffs_, Sundance::Expr::handle(), and Sundance::Expr::toXML().
Array<Map<MultipleDeriv, RCP<ScalarExpr> > > Sundance::FunctionalPolynomial::coeffs_ [private] |
Definition at line 117 of file SundanceFunctionalPolynomial.hpp.
Referenced by addPoly(), evalString(), FunctionalPolynomial(), multiplyPoly(), multiplyScalar(), and toXML().
Map<int, Set<MultiIndex> > Sundance::FunctionalPolynomial::funcMultiIndices_ [private] |
Definition at line 114 of file SundanceFunctionalPolynomial.hpp.
Referenced by addPoly(), FunctionalPolynomial(), multiplyPoly(), and multiplyScalar().
Map<int, RCP<ScalarExpr> > Sundance::FunctionalPolynomial::funcs_ [private] |
Definition at line 111 of file SundanceFunctionalPolynomial.hpp.
Referenced by addPoly(), FunctionalPolynomial(), multiplyPoly(), and multiplyScalar().
Array<Set<MultipleDeriv> > Sundance::FunctionalPolynomial::keys_ [private] |
Definition at line 120 of file SundanceFunctionalPolynomial.hpp.
Referenced by FunctionalPolynomial().