|
| Add ()=default |
|
| Add (const Add< AugendT, AddendT > &other) |
|
| Add (const AugendT &addend1, const AddendT &addend2) |
|
auto | operator= (const Add &other) -> Add &=default |
|
| BinaryExpression ()=default |
|
| BinaryExpression (const BinaryExpression &other) |
|
| BinaryExpression (const MostSigOpT &mostSigOp, const LeastSigOpT &leastSigOp) |
|
template<IExpression Op1T, IExpression Op2T, IExpression... OpsT> |
| BinaryExpression (const Op1T &op1, const Op2T &op2, const OpsT &... ops) |
|
auto | Copy () const -> std::unique_ptr< Expression > final |
| Copies this expression.
|
|
auto | Differentiate (const Expression &differentiationVariable) const -> std::unique_ptr< Expression > override |
| Tries to differentiate this function.
|
|
auto | Equals (const Expression &other) const -> bool final |
| Compares this expression to another expression for equality.
|
|
auto | Generalize () const -> std::unique_ptr< Expression > final |
| Converts this expression to a more general expression.
|
|
auto | Simplify () const -> std::unique_ptr< Expression > override |
| Simplifies this expression.
|
|
auto | Integrate (const Expression &integrationVariable) const -> std::unique_ptr< Expression > override |
| Attempts to integrate this expression using integration rules.
|
|
auto | StructurallyEquivalent (const Expression &other) const -> bool final |
| Checks whether this expression is structurally equivalent to another expression.
|
|
auto | Flatten (std::vector< std::unique_ptr< Expression > > &out) const -> void |
| Flattens this expression.
|
|
auto | GetMostSigOp () const -> const MostSigOpT & |
| Gets the most significant operand of this expression.
|
|
auto | GetLeastSigOp () const -> const LeastSigOpT & |
| Gets the least significant operand of this expression.
|
|
auto | HasMostSigOp () const -> bool |
| Gets whether this expression has a most significant operand.
|
|
auto | HasLeastSigOp () const -> bool |
| Gets whether this expression has a least significant operand.
|
|
template<typename T >
requires IsAnyOf<T, MostSigOpT, Expression> |
auto | SetMostSigOp (const T &op) -> bool |
| Sets the most significant operand of this expression.
|
|
template<typename T >
requires IsAnyOf<T, LeastSigOpT, Expression> |
auto | SetLeastSigOp (const T &op) -> bool |
| Sets the least significant operand of this expression.
|
|
auto | Substitute (const Expression &var, const Expression &val) -> std::unique_ptr< Expression > override |
|
auto | SwapOperands () const -> DerivedT< LeastSigOpT, MostSigOpT > |
| Swaps the operands of this expression.
|
|
auto | operator= (const BinaryExpression &other) -> BinaryExpression &=default |
|
void | Serialize (SerializationVisitor &visitor) const override |
| This function serializes the expression object.
|
|
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 | 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 | ~Expression ()=default |
|
template<IExpression AugendT = Expression, IExpression AddendT = AugendT>
class Oasis::Add< AugendT, AddendT >
The Add expression adds two expressions together.
- Template Parameters
-
AugendT | The type of the expression to add be added to. |
AddendT | The type of the expression to add to the augend. |