|
dReal4
|
Symbolic expression representing a multiplication of powers. More...
Public Member Functions | |
| ExpressionMul (double constant, std::map< Expression, Expression > base_to_exponent_map) | |
Constructs ExpressionMul from constant and base_to_exponent_map. More... | |
| 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 constant term. More... | |
| const std::map< Expression, Expression > & | get_base_to_exponent_map () const |
| Returns map from a term to its exponent. More... | |
| std::map< Expression, Expression > & | get_mutable_base_to_exponent_map () |
| Returns map from a term to its exponent. 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 a multiplication of powers.
\[ c_0 \cdot \prod b_i^{e_i} \]
where \( c_0 \) is a constant and \( b_i \) and \( e_i \) are symbolic expressions.
Internally this class maintains a member variable constant_ representing \( c_0 \) and another member variable base_to_exponent_map_ representing a mapping from a base, \( b_i \) to its exponentiation \( e_i \).
| ExpressionMul | ( | double | constant, |
| std::map< Expression, Expression > | base_to_exponent_map | ||
| ) |
Constructs ExpressionMul from constant and base_to_exponent_map.
|
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 map from a term to its exponent.
|
inline |
Returns constant term.
|
inline |
Returns map from a term to its exponent.
|
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.