|
| Matrix (MatrixData *matrixData) |
|
| Matrix (const Expression *const *operands, int numberOfRows, int numberOfColumns, bool cloneOperands=true) |
|
int | numberOfRows () const |
|
int | numberOfColumns () const |
|
Type | type () const override |
|
Expression * | clone () const override |
|
int | writeTextInBuffer (char *buffer, int bufferSize, int numberOfSignificantDigits=PrintFloat::k_numberOfStoredSignificantDigits) const override |
|
int | polynomialDegree (char symbolName) const override |
|
template<typename T > |
Complex< T > * | createTrace () const |
|
template<typename T > |
Complex< T > * | createDeterminant () const |
|
template<typename T > |
Matrix * | createInverse () const |
|
Matrix * | createTranspose () const |
|
| DynamicHierarchy () |
|
| DynamicHierarchy (const Expression *const *operands, int numberOfOperands, bool cloneOperands=true) |
|
| DynamicHierarchy (const Expression *operand1, const Expression *operand2, bool cloneOperands=true) |
|
| ~DynamicHierarchy () |
|
| DynamicHierarchy (const DynamicHierarchy &other)=delete |
|
| DynamicHierarchy (DynamicHierarchy &&other)=delete |
|
DynamicHierarchy & | operator= (const DynamicHierarchy &other)=delete |
|
DynamicHierarchy & | operator= (DynamicHierarchy &&other)=delete |
|
int | numberOfOperands () const override |
|
const Expression *const * | operands () const override |
|
void | removeOperand (const Expression *e, bool deleteAfterRemoval=true) |
|
void | addOperands (const Expression *const *operands, int numberOfOperands) |
|
void | addOperand (Expression *operand) |
|
void | addOperandAtIndex (Expression *operand, int index) |
|
void | mergeOperands (DynamicHierarchy *d) |
|
void | sortOperands (ExpressionOrder order, bool canBeInterrupted) |
|
Expression * | squashUnaryHierarchy () |
|
virtual | ~Expression ()=default |
|
const Expression * | operand (int i) const |
|
Expression * | editableOperand (int i) |
|
Expression * | replaceWith (Expression *newOperand, bool deleteAfterReplace=true) |
|
void | replaceOperand (const Expression *oldOperand, Expression *newOperand, bool deleteOldOperand=true) |
|
void | detachOperand (const Expression *e) |
|
void | detachOperands () |
|
void | swapOperands (int i, int j) |
|
Expression * | parent () const |
|
void | setParent (Expression *parent) |
|
bool | hasAncestor (const Expression *e) const |
|
virtual Sign | sign () const |
|
bool | recursivelyMatches (ExpressionTest test, Context &context) const |
|
bool | isApproximate (Context &context) const |
|
virtual float | characteristicXRange (Context &context, AngleUnit angleUnit=AngleUnit::Default) const |
|
bool | isIdenticalTo (const Expression *e) const |
|
ExpressionLayout * | createLayout (PrintFloat::Mode floatDisplayMode=PrintFloat::Mode::Default, ComplexFormat complexFormat=ComplexFormat::Default) const |
|
template<typename T > |
Expression * | approximate (Context &context, AngleUnit angleUnit=AngleUnit::Default) const |
|
template<typename T > |
T | approximateToScalar (Context &context, AngleUnit angleUnit=AngleUnit::Default) const |
|
|
typedef int(* | ExpressionOrder) (const Expression *e1, const Expression *e2, bool canBeInterrupted) |
|
enum | Type : uint8_t {
Type::Undefined = 0,
Type::Rational = 1,
Type::Decimal,
Type::Multiplication,
Type::Power,
Type::Addition,
Type::Factorial,
Type::Division,
Type::Store,
Type::Sine,
Type::Cosine,
Type::Tangent,
Type::AbsoluteValue,
Type::ArcCosine,
Type::ArcSine,
Type::ArcTangent,
Type::BinomialCoefficient,
Type::Ceiling,
Type::ComplexArgument,
Type::Conjugate,
Type::Derivative,
Type::Determinant,
Type::DivisionQuotient,
Type::DivisionRemainder,
Type::Factor,
Type::Floor,
Type::FracPart,
Type::GreatCommonDivisor,
Type::HyperbolicArcCosine,
Type::HyperbolicArcSine,
Type::HyperbolicArcTangent,
Type::HyperbolicCosine,
Type::HyperbolicSine,
Type::HyperbolicTangent,
Type::ImaginaryPart,
Type::Integral,
Type::LeastCommonMultiple,
Type::Logarithm,
Type::MatrixTrace,
Type::NaperianLogarithm,
Type::NthRoot,
Type::Opposite,
Type::Parenthesis,
Type::PermuteCoefficient,
Type::Product,
Type::Random,
Type::Randint,
Type::RealPart,
Type::Round,
Type::SquareRoot,
Type::Subtraction,
Type::Sum,
Type::Symbol,
Type::Complex,
Type::Matrix,
Type::ConfidenceInterval,
Type::MatrixDimension,
Type::MatrixInverse,
Type::MatrixTranspose,
Type::PredictionInterval,
Type::SimplificationRoot
} |
|
enum | ComplexFormat { ComplexFormat::Cartesian = 0,
ComplexFormat::Polar = 1,
ComplexFormat::Default = 2
} |
|
enum | AngleUnit { AngleUnit::Degree = 0,
AngleUnit::Radian = 1,
AngleUnit::Default = 2
} |
|
enum | Sign { Sign::Negative = -1,
Sign::Unknown = 0,
Sign::Positive = 1
} |
|
typedef bool(* | CircuitBreaker) () |
|
typedef bool(* | ExpressionTest) (const Expression *e, Context &context) |
|
typedef float | SinglePrecision |
|
typedef double | DoublePrecision |
|
| Expression () |
|
void | detachOperandAtIndex (int i) |
|
template<typename T > |
static T | epsilon () |
|
static int | SimplificationOrder (const Expression *e1, const Expression *e2, bool canBeInterrupted=false) |
|
const Expression ** | m_operands |
|
int | m_numberOfOperands |
|
static constexpr int | k_maxNumberOfSteps = 10000 |
|
Definition at line 9 of file matrix.h.