Any Expression supports basic mathematical operations like addition, subtraction, multiplication, division, power and negate.
Furthermore, any expression can be differentiated with respect to a given variable. Also expressions know how to simplify themselves.
There are different classes of expressions:
-
Literals (see Literal)
- Number Literals (see
Number
) - Variable Literals (see
Variable
) - Vector Literals (see
Vector
) - Interval Literals (see
IntervalLiteral
)
- Number Literals (see
-
Operators (support auto-wrapping of parameters into Literals)
- Unary Operators (see
UnaryOperator
) - Binary Operators (see
BinaryOperator
)
- Unary Operators (see
-
Functions (see MathFunction)
- Pre-defined Functions (see
DefaultFunction
) - Composite Functions (see
CompositeFunction
) - Custom Functions (see
CustomFunction
)
- Pre-defined Functions (see
Pre-defined functions are Exponential, Log, Ln, nth-Root, Sqrt, Abs, Sgn, Sin, Cos and Tan.
- Implemented by
Constructors
Properties
- hashCode → int
-
Get a hash code for this object.…
read-only, inherited - runtimeType → Type
-
A representation of the runtime type of the object.
read-only, inherited
Operators
-
operator *(
Expression exp) → Expression -
Multiply operator. Creates a Times expression.
-
operator +(
Expression exp) → Expression -
Add operator. Creates a Plus expression.
-
operator -(
Expression exp) → Expression -
Subtract operator. Creates a Minus expression.
-
operator /(
Expression exp) → Expression -
Divide operator. Creates a Divide expression.
-
operator ==(
other) → bool -
The equality operator.…
inherited -
operator unary-(
) → Expression -
Unary minus operator. Creates a UnaryMinus expression.
-
operator ^(
Expression exp) → Expression -
Power operator. Creates a Power expression.
Methods
-
derive(
String toVar) → Expression -
Derives this expression with respect to the given variable.
-
evaluate(
EvaluationType type, ContextModel context) → dynamic -
Evaluates this expression according to given type and context.
-
noSuchMethod(
Invocation invocation) → dynamic -
noSuchMethod
is invoked when users invoke a non-existent method on an object. The name of the method and the arguments of the invocation are passed tonoSuchMethod
in anInvocation
. IfnoSuchMethod
returns a value, that value becomes the result of the original invocation.…inherited -
simplify(
) → Expression -
Returns a simplified version of this expression. Subclasses should overwrite this method, if applicable.
-
toString(
) → String -
Returns a string version of this expression. Subclasses should override this method. The output should be kept compatible with the Parser.