|
| | BoundedExpression ()=default |
| |
| | BoundedExpression (const BoundedExpression &other) |
| |
| | BoundedExpression (const LowerBoundT &lowerBound, const UpperBoundT &upperBound) |
| |
| auto | HasLowerBound () const -> bool |
| |
| auto | HasUpperBound () const -> bool |
| |
| auto | GetLowerBound () const -> const LowerBoundT & |
| |
| auto | GetUpperBound () const -> const UpperBoundT & |
| |
template<typename T >
requires IsAnyOf<T, LowerBoundT, Expression> |
| void | SetLowerBound (const T &expr) |
| |
template<typename T >
requires IsAnyOf<T, UpperBoundT, Expression> |
| void | SetUpperBound (const T &expr) |
| |
| virtual auto | Copy () const -> std::unique_ptr< Expression >=0 |
| | Copies this expression.
|
| |
| virtual auto | Differentiate (const Expression &) const -> std::unique_ptr< Expression > |
| | Tries to differentiate this function.
|
| |
| virtual auto | Equals (const Expression &other) const -> bool=0 |
| | Compares this expression to another expression for equality.
|
| |
| auto | FindZeros () const -> std::vector< std::unique_ptr< Expression > > |
| | The FindZeros function finds all rational real zeros, and up to 2 irrational/complex zeros of a polynomial.
|
| |
| virtual auto | GetCategory () const -> uint32_t |
| | Gets the category of this expression.
|
| |
| virtual auto | GetType () const -> ExpressionType |
| | Gets the type of this expression.
|
| |
| virtual auto | Generalize () const -> std::unique_ptr< Expression > |
| | Converts this expression to a more general expression.
|
| |
| virtual auto | Integrate (const Expression &) const -> std::unique_ptr< Expression > |
| | Attempts to integrate this expression using integration rules.
|
| |
| virtual auto | IntegrateWithBounds (const Expression &, const Expression &, const Expression &) -> std::unique_ptr< Expression > |
| | Attempts to integrate this expression using integration rules.
|
| |
| template<IExpression T> |
| bool | Is () const |
| | Gets whether this expression is of a specific type.
|
| |
template<template< typename > typename T>
requires (DerivedFromUnaryExpression<T<Expression>> && !DerivedFromBinaryExpression<T<Expression>>) |
| bool | Is () const |
| |
template<template< typename, typename > typename T>
requires DerivedFromBinaryExpression<T<Expression, Expression>> |
| bool | Is () const |
| |
| virtual auto | Simplify () const -> std::unique_ptr< Expression > |
| | Simplifies this expression.
|
| |
| virtual auto | StructurallyEquivalent (const Expression &other) const -> bool=0 |
| | Checks whether this expression is structurally equivalent to another expression.
|
| |
| virtual auto | Substitute (const Expression &var, const Expression &val) -> std::unique_ptr< Expression >=0 |
| |
template<IVisitor T>
requires ExpectedWithString<typename T::RetT> |
| auto | Accept (T &visitor) const -> std::expected< typename T::RetT, std::string_view > |
| |
template<IVisitor T>
requires ExpectedWithString<typename T::RetT> |
| auto | Accept (T &visitor) const -> typename T::RetT |
| |
| virtual | ~Expression ()=default |
| |