Public Member Functions | |
| SumExpr (const RCP< ScalarExpr > &a, const RCP< ScalarExpr > &b, int sign) | |
| virtual | ~SumExpr () |
| virtual bool | isHungryDiffOp () const |
| virtual bool | isLinear () const |
| virtual bool | isLinearInTests () const |
| virtual bool | everyTermHasTestFunctions () const |
| virtual bool | isLinearForm (const Expr &u) const |
| virtual bool | isQuadraticForm (const Expr &u) const |
| virtual RCP< ExprBase > | getRcp () |
| const Map< Expr, int > & | getSumTree () const |
Protected Member Functions | |
| virtual bool | parenthesizeSelf () const |
| virtual bool | parenthesizeOperands () const |
| virtual const std::string & | xmlTag () const |
| virtual const std::string & | opChar () const |
Private Attributes | |
| Map< Expr, int > | sumTree_ |
SumExpr is the internal representation of an addition or subtraction node in the expression tree.
Definition at line 59 of file SundanceSumExpr.hpp.
| SumExpr::SumExpr | ( | const RCP< ScalarExpr > & | a, |
| const RCP< ScalarExpr > & | b, | ||
| int | sign | ||
| ) |
Definition at line 58 of file SundanceSumExpr.cpp.
| virtual Sundance::SumExpr::~SumExpr | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 68 of file SundanceSumExpr.hpp.
| bool SumExpr::everyTermHasTestFunctions | ( | ) | const [virtual] |
Indicate whether every term in the expression contains test functions
Reimplemented from Sundance::ExprWithChildren.
Definition at line 105 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::everyTermHasTestFunctions(), Sundance::BinaryExpr::leftEvaluatable(), and Sundance::BinaryExpr::rightEvaluatable().
| virtual RCP<ExprBase> Sundance::SumExpr::getRcp | ( | ) | [inline, virtual] |
Implements Playa::Handleable< ExprBase >.
Definition at line 97 of file SundanceSumExpr.hpp.
| const Map<Expr, int>& Sundance::SumExpr::getSumTree | ( | ) | const [inline] |
Definition at line 100 of file SundanceSumExpr.hpp.
References sumTree_.
| bool SumExpr::isHungryDiffOp | ( | ) | const [virtual] |
Reimplemented from Sundance::ScalarExpr.
Definition at line 82 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::isHungryDiffOp(), Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| virtual bool Sundance::SumExpr::isLinear | ( | ) | const [inline, virtual] |
Reimplemented from Sundance::ExprWithChildren.
Definition at line 74 of file SundanceSumExpr.hpp.
| bool SumExpr::isLinearForm | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is linear in the given functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 123 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::isIndependentOf(), Sundance::ScalarExpr::isLinearForm(), Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| bool SumExpr::isLinearInTests | ( | ) | const [virtual] |
Indicate whether the expression is linear with respect to test functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 111 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::hasTestFunctions(), Sundance::ScalarExpr::isLinearInTests(), Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| bool SumExpr::isQuadraticForm | ( | const Expr & | u | ) | const [virtual] |
Indicate whether the expression is a quadratic form in the given functions
Reimplemented from Sundance::ScalarExpr.
Definition at line 133 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::isIndependentOf(), Sundance::ScalarExpr::isLinearForm(), Sundance::ScalarExpr::isQuadraticForm(), Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| const std::string & SumExpr::opChar | ( | ) | const [protected, virtual] |
Implements Sundance::BinaryExpr.
Definition at line 96 of file SundanceSumExpr.cpp.
References Sundance::BinaryExpr::sign().
| virtual bool Sundance::SumExpr::parenthesizeOperands | ( | ) | const [inline, protected, virtual] |
Implements Sundance::BinaryExpr.
Definition at line 106 of file SundanceSumExpr.hpp.
| virtual bool Sundance::SumExpr::parenthesizeSelf | ( | ) | const [inline, protected, virtual] |
Implements Sundance::BinaryExpr.
Definition at line 104 of file SundanceSumExpr.hpp.
| const std::string & SumExpr::xmlTag | ( | ) | const [protected, virtual] |
Implements Sundance::BinaryExpr.
Definition at line 88 of file SundanceSumExpr.cpp.
References Sundance::BinaryExpr::sign().
Map<Expr, int> Sundance::SumExpr::sumTree_ [private] |
Definition at line 113 of file SundanceSumExpr.hpp.
Referenced by getSumTree().