OASIS
Open Algebra Software
|
An undefined expression. More...
#include <Oasis/Undefined.hpp>
Public Member Functions | |
Undefined ()=default | |
Undefined (const Undefined &other)=default | |
auto | Equals (const Expression &) const -> bool final |
Compares this expression to another expression for equality. | |
auto | operator= (const Undefined &other) -> Undefined &=default |
Public Member Functions inherited from Oasis::LeafExpression< Undefined > | |
auto | Copy () const -> std::unique_ptr< Expression > final |
Copies this expression. | |
auto | StructurallyEquivalent (const Expression &other) const -> bool final |
Checks whether this expression is structurally equivalent to another expression. | |
auto | Integrate (const Expression &integrationVariable) const -> std::unique_ptr< Expression > override |
Attempts to integrate this expression using integration rules. | |
auto | Differentiate (const Expression &differentiationVariable) const -> std::unique_ptr< Expression > override |
Tries to differentiate this function. | |
auto | Substitute (const Expression &, const Expression &) -> std::unique_ptr< Expression > override |
void | Serialize (SerializationVisitor &visitor) const override |
This function serializes the expression object. | |
Public Member Functions inherited from Oasis::Expression | |
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 | 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> | |
bool | Is () const |
template<template< typename, typename > typename T> | |
bool | Is () const |
virtual auto | Simplify () const -> std::unique_ptr< Expression > |
Simplifies this expression. | |
virtual | ~Expression ()=default |
An undefined expression.
|
default |
|
default |
|
inlinefinalvirtual |
Compares this expression to another expression for equality.
Two expressions are equal if they are structurally equivalent and have the same value. While this method considers the associativity and commutativity of expressions, it does not simplify the expressions before comparing them. For example, Add<Real>(Real(1), Real(2))
and Add<Real>(Real(2), Real(1))
are not equal, despite being structurally equivalent.
other | The other expression. |
Implements Oasis::Expression.