Sundance::SumTransformation Class Reference

Inheritance diagram for Sundance::SumTransformation:

Sundance::SymbolicTransformation Sundance::ObjectWithClassVerbosity< SymbolicTransformation > Playa::ObjectWithVerbosity Sundance::IdentifyPolynomialSum Sundance::MoveConstantsToLeftOfSum Sundance::RearrangeLeftSumWithConstant Sundance::RearrangeRightSumWithConstant Sundance::RemoveUnaryMinusFromSum Sundance::RemoveZeroFromSum Sundance::ReorderSum Sundance::SumConstants Sundance::SumIntegrals Sundance::SumTransformationSequence

List of all members.

Public Member Functions

 SumTransformation ()
virtual ~SumTransformation ()
virtual bool doTransform (const RCP< ScalarExpr > &left, const RCP< ScalarExpr > &right, int sign, RCP< ScalarExpr > &rtn) const =0


Detailed Description

SumTransformation is a base class for any transformation which takes the two operands of a sum (left, right) and produces a new expression mathematically equivalent to the original sum. This will be used to effect simplification transformations on sum expressions.

Definition at line 52 of file SundanceSumTransformation.hpp.


Constructor & Destructor Documentation

SumTransformation::SumTransformation (  ) 

Definition at line 41 of file SundanceSumTransformation.cpp.

virtual Sundance::SumTransformation::~SumTransformation (  )  [inline, virtual]

Definition at line 59 of file SundanceSumTransformation.hpp.


Member Function Documentation

virtual bool Sundance::SumTransformation::doTransform ( const RCP< ScalarExpr > &  left,
const RCP< ScalarExpr > &  right,
int  sign,
RCP< ScalarExpr > &  rtn 
) const [pure virtual]

Test whether the transform is applicable in this case, and if it is, apply it. The return value is true is the transformation was applied, otherwise false. Returns by non-const reference the transformed expression.

Implemented in Sundance::IdentifyPolynomialSum, Sundance::ReorderSum, Sundance::RemoveUnaryMinusFromSum, Sundance::RemoveZeroFromSum, Sundance::SumConstants, Sundance::MoveConstantsToLeftOfSum, Sundance::RearrangeRightSumWithConstant, Sundance::RearrangeLeftSumWithConstant, Sundance::SumIntegrals, and Sundance::SumTransformationSequence.

Site Contact