|
| Type | type () const override |
| |
| Expression * | clone () const override |
| |
| Sign | sign () const override |
| |
| int | polynomialDegree (char symbolName) const override |
| |
| | 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 |
| |
| 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 10 of file multiplication.h.