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 48 of file SundanceSumExpr.hpp.


Constructor & Destructor Documentation

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.


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 94 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 86 of file SundanceSumExpr.hpp.

const Map<Expr, int>& Sundance::SumExpr::getSumTree (  )  const [inline]

Definition at line 89 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 63 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 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]

Implements Sundance::BinaryExpr.

Definition at line 95 of file SundanceSumExpr.hpp.

virtual bool Sundance::SumExpr::parenthesizeSelf (  )  const [inline, protected, virtual]

Implements Sundance::BinaryExpr.

Definition at line 93 of file SundanceSumExpr.hpp.

const std::string & SumExpr::xmlTag (  )  const [protected, virtual]

Implements Sundance::BinaryExpr.

Definition at line 77 of file SundanceSumExpr.cpp.

References Sundance::BinaryExpr::sign().


Member Data Documentation

Definition at line 102 of file SundanceSumExpr.hpp.

Referenced by getSumTree().

Site Contact