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] |