| 
    dReal4
    
   | 
 
Symbolic expression representing an addition which is a sum of products. More...
  
 Public Member Functions | |
| ExpressionAdd (double constant, std::map< Expression, double > expr_to_coeff_map) | |
Constructs ExpressionAdd from constant_term and term_to_coeff_map.  | |
| bool | EqualTo (const ExpressionCell &e) const override | 
| Checks structural equality.  More... | |
| bool | Less (const ExpressionCell &e) const override | 
| Provides lexicographical ordering between expressions.  More... | |
| double | Evaluate (const Environment &env) const override | 
| Evaluates under a given environment (by default, an empty environment).  More... | |
| Expression | Expand () override | 
| Expands out products and positive integer powers in expression.  More... | |
| Expression | Substitute (const ExpressionSubstitution &expr_subst, const FormulaSubstitution &formula_subst) override | 
Returns an Expression obtained by replacing all occurrences of the variables in s in the current expression cell with the corresponding expressions in s.  More... | |
| Expression | Differentiate (const Variable &x) const override | 
Differentiates this symbolic expression with respect to the variable var.  More... | |
| std::ostream & | Display (std::ostream &os) const override | 
Outputs string representation of expression into output stream os.  More... | |
| double | get_constant () const | 
| Returns the constant.  More... | |
| const std::map< Expression, double > & | get_expr_to_coeff_map () const | 
| Returns map from an expression to its coefficient.  More... | |
| std::map< Expression, double > & | get_mutable_expr_to_coeff_map () | 
| Returns map from an expression to its coefficient.  More... | |
  Public Member Functions inherited from ExpressionCell | |
| ExpressionKind | get_kind () const | 
| Returns expression kind.  More... | |
| size_t | get_hash () const | 
| Returns hash value.  More... | |
| const Variables & | GetVariables () const | 
| Collects variables in expression.  More... | |
| bool | is_polynomial () const | 
| Checks if this symbolic expression is convertible to Polynomial.  More... | |
| bool | include_ite () const | 
| Returns true if this symbolic expression includes an ITE (If-Then-Else) expression.  More... | |
| unsigned | use_count () const | 
| Returns the reference count of this cell.  More... | |
| ExpressionCell (const ExpressionCell &e)=delete | |
| Copy-constructs an ExpressionCell from an lvalue.  More... | |
| ExpressionCell (ExpressionCell &&e)=delete | |
| Move-constructs an ExpressionCell from an rvalue.  More... | |
| ExpressionCell ()=delete | |
| Default constructor (DELETED).  More... | |
| ExpressionCell & | operator= (ExpressionCell &&e)=delete | 
| Move-assigns (DELETED).  More... | |
| ExpressionCell & | operator= (const ExpressionCell &e)=delete | 
| Copy-assigns (DELETED).  More... | |
Additional Inherited Members | |
  Protected Member Functions inherited from ExpressionCell | |
| ExpressionCell (ExpressionKind k, size_t hash, bool is_poly, bool include_ite, Variables variables) | |
Constructs ExpressionCell of kind k with hash, is_poly, and include_ite.  More... | |
| virtual | ~ExpressionCell ()=default | 
| Default destructor.  More... | |
| Expression | GetExpression () | 
| Returns an expression pointing to this ExpressionCell.  More... | |
Symbolic expression representing an addition which is a sum of products.
\[ c_0 + \sum c_i * e_i \]
where \( c_i \) is a constant and \( e_i \) is a symbolic expression.
Internally this class maintains a member variable constant_ to represent \( c_0 \) and another member variable expr_to_coeff_map_ to represent a mapping from an expression \( e_i \) to its coefficient \( c_i \) of double. 
      
  | 
  overridevirtual | 
Differentiates this symbolic expression with respect to the variable var. 
| std::runtime_error | if it is not differentiable. | 
Implements ExpressionCell.
      
  | 
  overridevirtual | 
Outputs string representation of expression into output stream os. 
Implements ExpressionCell.
      
  | 
  overridevirtual | 
Checks structural equality.
Implements ExpressionCell.
      
  | 
  overridevirtual | 
Evaluates under a given environment (by default, an empty environment).
| std::runtime_error | if NaN is detected during evaluation. | 
Implements ExpressionCell.
      
  | 
  overridevirtual | 
Expands out products and positive integer powers in expression.
| std::runtime_error | if NaN is detected during expansion. | 
Implements ExpressionCell.
      
  | 
  inline | 
Returns the constant.
      
  | 
  inline | 
Returns map from an expression to its coefficient.
      
  | 
  inline | 
Returns map from an expression to its coefficient.
      
  | 
  overridevirtual | 
Provides lexicographical ordering between expressions.
Implements ExpressionCell.
      
  | 
  overridevirtual | 
Returns an Expression obtained by replacing all occurrences of the variables in s in the current expression cell with the corresponding expressions in s. 
| std::runtime_error | if NaN is detected during substitution. | 
Implements ExpressionCell.