|
| Exponent ()=default |
|
| Exponent (const Exponent< BaseT, PowerT > &other) |
|
| Exponent (const BaseT &base, const PowerT &power) |
|
auto | operator= (const Exponent &other) -> Exponent &=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 BaseT = Expression, IExpression PowerT = BaseT>
class Oasis::Exponent< BaseT, PowerT >
The exponent expression creates an exponent two expressions.
- Template Parameters
-
BaseT | The expression to be used as the base. |
PowerT | The expression to be used as the power. |