1using System.Collections.Generic;
2using System.Threading.Tasks;
17 private readonly
string variableName;
54 int Direction = S.Compare(From, To);
63 if (S.Compare(Step, From.Zero) <= 0)
66 else if (Direction > 0)
68 if (S.Compare(Step, From.Zero) >= 0)
77 Step = From.One.Negate();
80 LinkedList<IElement> Elements =
new LinkedList<IElement>();
96 Done = S.Compare(From, To) < 0;
98 Done = S.Compare(From, To) > 0;
126 int Direction = S.Compare(From, To);
135 if (S.Compare(Step, From.Zero) <= 0)
138 else if (Direction > 0)
140 if (S.Compare(Step, From.Zero) >= 0)
149 Step = From.One.Negate();
152 LinkedList<IElement> Elements =
new LinkedList<IElement>();
168 Done = S.Compare(From, To) < 0;
170 Done = S.Compare(From, To) > 0;
Script runtime exception.
Class managing a script expression.
ScriptNode RightOperand
Right operand.
ScriptNode LeftOperand
Left operand.
ScriptNode right
Right operand.
ScriptNode left
Left operand.
bool isAsync
If subtree is asynchroneous.
Base class for all quaternary operators.
ScriptNode Middle2Operand
Second middle operand.
ScriptNode middle2
Second Middle operand.
int Length
Length of expression covered by node.
int Start
Start position in script expression.
abstract IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection. This method should be ...
virtual Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection. This method should be ...
ScriptNode middle
Middle operand.
ScriptNode MiddleOperand
Middle operand.
string VariableName
Variable Name.
static IElement Encapsulate(Array Elements, bool CanEncapsulateAsMatrix, ScriptNode Node)
Encapsulates the elements of a vector.
Creates a vector using a FOR statement.
VectorForDefinition(For Elements, int Start, int Length, Expression Expression)
Creates a vector using a FOR statement.
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
override IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
virtual IElement Encapsulate(LinkedList< IElement > Elements)
Encapsulates the calculated elements.
string VariableName
Variable Name.
virtual Variable Add(string Name, object Value)
Adds a variable to the collection.
Basic interface for all types of commutative ring with identity elements.
Basic interface for all types of elements.
Basic interface for ordered sets.