Simplify sums involving unary minuses
. More...
Public Member Functions | |
| RemoveUnaryMinusFromSum () | |
| virtual | ~RemoveUnaryMinusFromSum () |
| virtual bool | doTransform (const RCP< ScalarExpr > &left, const RCP< ScalarExpr > &right, int sign, RCP< ScalarExpr > &rtn) const |
| Test whether the transform is applicable in this case, and if it is, apply it. | |
Simplify sums involving unary minuses
.
Definition at line 106 of file SundanceStdSumTransformations.hpp.
| Sundance::RemoveUnaryMinusFromSum::RemoveUnaryMinusFromSum | ( | ) | [inline] |
Definition at line 110 of file SundanceStdSumTransformations.hpp.
| virtual Sundance::RemoveUnaryMinusFromSum::~RemoveUnaryMinusFromSum | ( | ) | [inline, virtual] |
Definition at line 113 of file SundanceStdSumTransformations.hpp.
| bool RemoveUnaryMinusFromSum::doTransform | ( | const RCP< ScalarExpr > & | left, |
| const RCP< ScalarExpr > & | right, | ||
| int | sign, | ||
| 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::SumTransformation.
Definition at line 435 of file SundanceStdSumTransformations.cpp.
References Sundance::UnaryExpr::arg(), Sundance::SymbolicTransformation::chooseSign(), Sundance::SymbolicTransformation::getScalar(), Sundance::Expr::handle(), Sundance::Out::println(), removeUnaryMinusTimer(), SUNDANCE_OUT, and Sundance::DefaultObjectWithVerbosity::verb().