Sundance::KillDiffOpOnConstant Class Reference

Kill a diff op acting on a constant

\[ D_x \alpha \rightarrow 0 \]

\[ D_x (\alpha + u) \rightarrow D_x u \]

. More...

Inheritance diagram for Sundance::KillDiffOpOnConstant:

Sundance::ProductTransformation Sundance::SymbolicTransformation Sundance::ObjectWithClassVerbosity< SymbolicTransformation > Playa::ObjectWithVerbosity

List of all members.

Public Member Functions

 KillDiffOpOnConstant ()
virtual ~KillDiffOpOnConstant ()
virtual bool doTransform (const RCP< ScalarExpr > &left, const RCP< ScalarExpr > &right, RCP< ScalarExpr > &rtn) const
 Test whether the transform is applicable in this case, and if it is, apply it.


Detailed Description

Kill a diff op acting on a constant

\[ D_x \alpha \rightarrow 0 \]

\[ D_x (\alpha + u) \rightarrow D_x u \]

.

Definition at line 228 of file SundanceStdProductTransformations.hpp.


Constructor & Destructor Documentation

Sundance::KillDiffOpOnConstant::KillDiffOpOnConstant (  )  [inline]

Definition at line 232 of file SundanceStdProductTransformations.hpp.

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

Definition at line 235 of file SundanceStdProductTransformations.hpp.


Member Function Documentation

bool KillDiffOpOnConstant::doTransform ( const RCP< ScalarExpr > &  left,
const RCP< ScalarExpr > &  right,
RCP< ScalarExpr > &  rtn 
) const [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.

Implements Sundance::ProductTransformation.

Definition at line 348 of file SundanceStdProductTransformations.cpp.

References Sundance::SymbolicTransformation::chooseSign(), Sundance::SymbolicTransformation::getScalar(), Sundance::Expr::handle(), Sundance::ScalarExpr::isConstant(), Sundance::BinaryExpr::leftScalar(), Playa::Out::println(), Sundance::BinaryExpr::right(), Sundance::BinaryExpr::sign(), SUNDANCE_OUT, and Playa::ObjectWithVerbosity::verb().

Site Contact