
Public Member Functions | |
| BinaryExpr (const RCP< ScalarExpr > &left, const RCP< ScalarExpr > &right, int sign) | |
| virtual | ~BinaryExpr () | 
| virtual std::ostream & | toText (std::ostream &os, bool paren) const | 
| virtual XMLObject | toXML () const | 
| Expr | left () const | 
| Expr | right () const | 
| int | sign () const | 
| const EvaluatableExpr * | leftEvaluatable () const | 
| const EvaluatableExpr * | rightEvaluatable () const | 
| const ScalarExpr * | leftScalar () const | 
| const ScalarExpr * | rightScalar () const | 
| virtual bool | lessThan (const ScalarExpr *other) const | 
Protected Member Functions | |
| virtual bool | parenthesizeSelf () const =0 | 
| virtual bool | parenthesizeOperands () const =0 | 
| virtual const std::string & | xmlTag () const =0 | 
| virtual const std::string & | opChar () const =0 | 
Private Attributes | |
| int | sign_ | 
Definition at line 46 of file SundanceBinaryExpr.hpp.
| BinaryExpr::BinaryExpr | ( | const RCP< ScalarExpr > & | left, | |
| const RCP< ScalarExpr > & | right, | |||
| int | sign | |||
| ) | 
construct with left and right operands
Definition at line 41 of file SundanceBinaryExpr.cpp.
| virtual Sundance::BinaryExpr::~BinaryExpr | ( | ) |  [inline, virtual] | 
        
virtual dtor
Definition at line 54 of file SundanceBinaryExpr.hpp.
| Expr Sundance::BinaryExpr::left | ( | ) |  const [inline] | 
        
Definition at line 63 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::child().
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeRightSumWithConstant::doTransform(), Sundance::RearrangeLeftProductWithConstant::doTransform(), Sundance::RearrangeRightProductWithConstant::doTransform(), Sundance::DistributeSumOfDiffOps::doTransform(), Sundance::BringConstantOutsideDiffOp::doTransform(), Sundance::AssociateHungryDiffOpWithOperand::doTransform(), and toXML().
| const EvaluatableExpr* Sundance::BinaryExpr::leftEvaluatable | ( | ) |  const [inline] | 
        
Downcast the left expr to an evaluatable expr
Definition at line 72 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::evaluatableChild().
Referenced by Sundance::SumExpr::everyTermHasTestFunctions(), Sundance::ProductExpr::internalFindQ_V(), and Sundance::ProductExpr::internalFindQ_W().
| const ScalarExpr* Sundance::BinaryExpr::leftScalar | ( | ) |  const [inline] | 
        
Downcast the left expr to a scalar expr
Definition at line 80 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::scalarChild().
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeRightSumWithConstant::doTransform(), Sundance::RearrangeLeftProductWithConstant::doTransform(), Sundance::RearrangeRightProductWithConstant::doTransform(), Sundance::BringConstantOutsideDiffOp::doTransform(), Sundance::KillDiffOpOnConstant::doTransform(), Sundance::SumExpr::isHungryDiffOp(), Sundance::SumExpr::isLinearForm(), Sundance::ProductExpr::isLinearForm(), Sundance::SumExpr::isLinearInTests(), Sundance::ProductExpr::isLinearInTests(), Sundance::SumExpr::isQuadraticForm(), Sundance::ProductExpr::isQuadraticForm(), and toText().
| bool BinaryExpr::lessThan | ( | const ScalarExpr * | other | ) |  const [virtual] | 
        
Ordering operator for use in transforming exprs to standard form
Reimplemented from Sundance::ExprWithChildren.
Definition at line 48 of file SundanceBinaryExpr.cpp.
References sign_.
| virtual const std::string& Sundance::BinaryExpr::opChar | ( | ) |  const [protected, pure virtual] | 
        
| virtual bool Sundance::BinaryExpr::parenthesizeOperands | ( | ) |  const [protected, pure virtual] | 
        
| virtual bool Sundance::BinaryExpr::parenthesizeSelf | ( | ) |  const [protected, pure virtual] | 
        
| Expr Sundance::BinaryExpr::right | ( | ) |  const [inline] | 
        
Definition at line 66 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::child().
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeRightSumWithConstant::doTransform(), Sundance::RearrangeLeftProductWithConstant::doTransform(), Sundance::RearrangeRightProductWithConstant::doTransform(), Sundance::DistributeSumOfDiffOps::doTransform(), Sundance::BringConstantOutsideDiffOp::doTransform(), Sundance::KillDiffOpOnConstant::doTransform(), Sundance::AssociateHungryDiffOpWithOperand::doTransform(), and toXML().
| const EvaluatableExpr* Sundance::BinaryExpr::rightEvaluatable | ( | ) |  const [inline] | 
        
Downcast the right expr to an evaluatable expr
Definition at line 76 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::evaluatableChild().
Referenced by Sundance::SumExpr::everyTermHasTestFunctions(), Sundance::ProductExpr::internalFindQ_V(), and Sundance::ProductExpr::internalFindQ_W().
| const ScalarExpr* Sundance::BinaryExpr::rightScalar | ( | ) |  const [inline] | 
        
Downcast the right expr to a scalar expr
Definition at line 83 of file SundanceBinaryExpr.hpp.
References Sundance::ExprWithChildren::scalarChild().
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeRightSumWithConstant::doTransform(), Sundance::RearrangeLeftProductWithConstant::doTransform(), Sundance::RearrangeRightProductWithConstant::doTransform(), Sundance::SumExpr::isHungryDiffOp(), Sundance::ProductExpr::isHungryDiffOp(), Sundance::SumExpr::isLinearForm(), Sundance::ProductExpr::isLinearForm(), Sundance::SumExpr::isLinearInTests(), Sundance::ProductExpr::isLinearInTests(), Sundance::SumExpr::isQuadraticForm(), Sundance::ProductExpr::isQuadraticForm(), and toText().
| int Sundance::BinaryExpr::sign | ( | ) |  const [inline] | 
        
Definition at line 69 of file SundanceBinaryExpr.hpp.
References sign_.
Referenced by Sundance::RearrangeLeftSumWithConstant::doTransform(), Sundance::RearrangeRightSumWithConstant::doTransform(), Sundance::DistributeSumOfDiffOps::doTransform(), Sundance::KillDiffOpOnConstant::doTransform(), Sundance::SumExpr::opChar(), Sundance::ProductExpr::opChar(), Sundance::SumExpr::xmlTag(), and Sundance::ProductExpr::xmlTag().
| std::ostream & BinaryExpr::toText | ( | std::ostream & | os, | |
| bool | paren | |||
| ) |  const [virtual] | 
        
Implements Sundance::ExprBase.
Definition at line 58 of file SundanceBinaryExpr.cpp.
References Sundance::ScalarExpr::isHungryDiffOp(), leftScalar(), opChar(), parenthesizeOperands(), parenthesizeSelf(), rightScalar(), Sundance::Expr::showAllParens(), and Sundance::ExprBase::toText().
| XMLObject BinaryExpr::toXML | ( | ) |  const [virtual] | 
        
| virtual const std::string& Sundance::BinaryExpr::xmlTag | ( | ) |  const [protected, pure virtual] | 
        
int Sundance::BinaryExpr::sign_ [private]           |