Sundance::ProductTransformation Class Reference

Inheritance diagram for Sundance::ProductTransformation:

Sundance::SymbolicTransformation Sundance::ObjectWithClassVerbosity< SymbolicTransformation > Playa::ObjectWithVerbosity Sundance::ApplySimpleDiffOp Sundance::AssociateHungryDiffOpWithOperand Sundance::BringConstantOutsideDiffOp Sundance::DistributeSumOfDiffOps Sundance::KillDiffOpOnConstant Sundance::MoveConstantsToLeftOfProduct Sundance::MoveUnaryMinusOutsideProduct Sundance::MultiplyConstants Sundance::ProductTransformationSequence Sundance::RearrangeLeftProductWithConstant Sundance::RearrangeRightProductWithConstant Sundance::RemoveMinusOneFromProduct Sundance::RemoveOneFromProduct Sundance::RemoveZeroFromProduct Sundance::TakeConstantUnderIntegralSign

List of all members.

Public Member Functions

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

Static Public Member Functions

static bool & optimizeFunctionDiffOps ()


Detailed Description

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

Definition at line 52 of file SundanceProductTransformation.hpp.


Constructor & Destructor Documentation

ProductTransformation::ProductTransformation (  ) 

Definition at line 41 of file SundanceProductTransformation.cpp.

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

Definition at line 59 of file SundanceProductTransformation.hpp.


Member Function Documentation

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

static bool& Sundance::ProductTransformation::optimizeFunctionDiffOps (  )  [inline, static]

Site Contact