
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_ |
Definition at line 48 of file SundanceSumExpr.hpp.
| SumExpr::SumExpr | ( | const RCP< ScalarExpr > & | a, | |
| const RCP< ScalarExpr > & | b, | |||
| int | sign | |||
| ) |
Definition at line 47 of file SundanceSumExpr.cpp.
| virtual Sundance::SumExpr::~SumExpr | ( | ) | [inline, virtual] |
virtual dtor
Definition at line 57 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 94 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::everyTermHasTestFunctions(), Sundance::BinaryExpr::leftEvaluatable(), and Sundance::BinaryExpr::rightEvaluatable().
| virtual RCP<ExprBase> Sundance::SumExpr::getRcp | ( | ) | [inline, virtual] |
| bool SumExpr::isHungryDiffOp | ( | ) | const [virtual] |
Reimplemented from Sundance::ScalarExpr.
Definition at line 71 of file SundanceSumExpr.cpp.
References Sundance::ScalarExpr::isHungryDiffOp(), Sundance::BinaryExpr::leftScalar(), and Sundance::BinaryExpr::rightScalar().
| virtual bool Sundance::SumExpr::isLinear | ( | ) | const [inline, virtual] |
| 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 112 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 100 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 122 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 85 of file SundanceSumExpr.cpp.
References Sundance::BinaryExpr::sign().
| virtual bool Sundance::SumExpr::parenthesizeOperands | ( | ) | const [inline, protected, virtual] |
| virtual bool Sundance::SumExpr::parenthesizeSelf | ( | ) | const [inline, protected, virtual] |
| const std::string & SumExpr::xmlTag | ( | ) | const [protected, virtual] |
Implements Sundance::BinaryExpr.
Definition at line 77 of file SundanceSumExpr.cpp.
References Sundance::BinaryExpr::sign().
Map<Expr, int> Sundance::SumExpr::sumTree_ [private] |