Public Member Functions | Protected Member Functions | Private Attributes
Sundance::SumExpr Class Reference
Inheritance diagram for Sundance::SumExpr:
Sundance::BinaryExpr Sundance::GenericEvaluatorFactory< SumExpr, SumEvaluator > Sundance::ExprWithChildren Sundance::EvaluatorFactory Sundance::EvaluatableExpr Sundance::ScalarExpr Sundance::EvaluatorFactory Sundance::FuncSetAccumulator Sundance::ObjectWithClassVerbosity< EvaluatableExpr > Sundance::ExprBase Playa::ObjectWithVerbosity Playa::Handleable< ExprBase >

List of all members.

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< ExprBasegetRcp ()
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_

Detailed Description

SumExpr is the internal representation of an addition or subtraction node in the expression tree.

Definition at line 59 of file SundanceSumExpr.hpp.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]
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().


Member Data Documentation

Definition at line 113 of file SundanceSumExpr.hpp.

Referenced by getSumTree().

Site Contact