OASIS
Open Algebra Software
|
A real number. More...
#include <Oasis/Real.hpp>
Public Member Functions | |
Real ()=default | |
Real (const Real &other)=default | |
Real (double value) | |
auto | Equals (const Expression &other) const -> bool final |
Compares this expression to another expression for equality. | |
auto | GetValue () const -> double |
Gets the value of the real number. | |
auto | Integrate (const Expression &integrationVariable) const -> std::unique_ptr< Expression > final |
Attempts to integrate this expression using integration rules. | |
auto | Differentiate (const Expression &) const -> std::unique_ptr< Expression > final |
Tries to differentiate this function. | |
auto | operator= (const Real &other) -> Real &=default |
Public Member Functions inherited from Oasis::LeafExpression< Real > | |
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 | 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 |
A real number.
|
default |
|
default |
|
explicit |
|
finalvirtual |
Tries to differentiate this function.
Reimplemented from Oasis::LeafExpression< Real >.
|
finalvirtual |
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.
auto Oasis::Real::GetValue | ( | ) | const -> double |
Gets the value of the real number.
|
finalvirtual |
Attempts to integrate this expression using integration rules.
Reimplemented from Oasis::LeafExpression< Real >.