Sundance::SumExpr Class Reference

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

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 dtor
virtual bool isHungryDiffOp () const
 Indicate whether this expression is a "hungry" differential operator that is awaiting an argument.
virtual bool isLinear () const
virtual bool isLinearInTests () const
 Indicate whether the expression is linear with respect to test functions.
virtual bool everyTermHasTestFunctions () const
 Indicate whether every term in the expression contains test functions.
virtual bool isLinearForm (const Expr &u) const
 Indicate whether the expression is linear in the given functions.
virtual bool isQuadraticForm (const Expr &u) const
 Indicate whether the expression is a quadratic form in the given functions.
virtual RCP< ExprBasegetRcp ()
 Return a safely-created RefCountPtr to the base type.
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]

Return a safely-created RefCountPtr to the base type.

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]

Indicate whether this expression is a "hungry" differential operator that is awaiting an argument.

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]

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