#include <memory>
#include <vector>
#include "Concepts.hpp"
Go to the source code of this file.
|
enum class | Oasis::ExpressionType {
Oasis::None
, Oasis::Real
, Oasis::Imaginary
, Oasis::Variable
,
Oasis::Add
, Oasis::Subtract
, Oasis::Multiply
, Oasis::Divide
,
Oasis::Exponent
, Oasis::Log
, Oasis::Integral
, Oasis::Limit
,
Oasis::Derivative
, Oasis::Negate
, Oasis::Sqrt
, Oasis::Matrix
,
Oasis::Pi
, Oasis::EulerNumber
, Oasis::Magnitude
} |
| The type of an expression. More...
|
|
enum | Oasis::ExpressionCategory : uint32_t {
Oasis::None = 0
, Oasis::Associative = 1
, Oasis::Commutative = 1 << 1
, Oasis::BinExp = 1 << 2
,
Oasis::UnExp = 1 << 3
} |
| The category of an expression. More...
|
|
◆ DECL_SPECIALIZE
#define DECL_SPECIALIZE |
( |
| type | ) |
|
◆ EXPRESSION_CATEGORY
#define EXPRESSION_CATEGORY |
( |
| category | ) |
|
Value: auto GetCategory() const -> uint32_t override \
{ \
return category; \
} \
\
constexpr static auto GetStaticCategory() -> uint32_t \
{ \
return category; \
}
◆ EXPRESSION_TYPE
#define EXPRESSION_TYPE |
( |
| type | ) |
|
Value: auto GetType() const -> ExpressionType override \
{ \
return ExpressionType::type; \
} \
\
static auto GetStaticType() -> ExpressionType \
{ \
return ExpressionType::type; \
}
◆ operator*()
◆ operator+()
◆ operator-()
◆ operator/()