1using System.Collections.Generic;
2using System.Threading.Tasks;
45 LinkedList<IElement> Elements =
new LinkedList<IElement>();
46 int i, c = Matrix.Rows;
50 for (i = 0; i < c; i++)
55 for (i = 0; i < c; i++)
60 for (i = 0; i < c; i++)
65 for (i = 0; i < c; i++)
66 Elements.AddLast(
this.Evaluate(Matrix.GetRow(i),
Variables));
69 return Argument.Encapsulate(Elements,
this);
75 LinkedList<IElement> Elements =
new LinkedList<IElement>();
80 return Argument.Encapsulate(Elements,
this);
134 LinkedList<IElement> Elements =
new LinkedList<IElement>();
135 int i, c = Matrix.Rows;
139 for (i = 0; i < c; i++)
144 for (i = 0; i < c; i++)
149 for (i = 0; i < c; i++)
154 for (i = 0; i < c; i++)
155 Elements.AddLast(await
this.EvaluateAsync(Matrix.GetRow(i),
Variables));
158 return Argument.Encapsulate(Elements,
this);
164 LinkedList<IElement> Elements =
new LinkedList<IElement>();
169 return Argument.Encapsulate(Elements,
this);
Base class for all types of sets.
override ICollection< IElement > ChildElements
An enumeration of child elements. If the element is a scalar, this property will return null.
Class managing a script expression.
Base class for funcions of one variable.
ScriptNode Argument
Function argument.
Base class for funcions of one vector variable.
virtual Task< IElement > EvaluateVectorAsync(DoubleVector Argument, Variables Variables)
Evaluates the function on a vector argument.
virtual async Task< IElement > EvaluateNonVectorAsync(IElement Argument, Variables Variables)
Evaluates the function on a non-vector. By default, the non-vector argument is converted to a vector ...
override string[] DefaultArgumentNames
Default Argument names
override async Task< IElement > EvaluateAsync(IElement Argument, Variables Variables)
Evaluates the function.
virtual Task< IElement > EvaluateVectorAsync(BooleanVector Argument, Variables Variables)
Evaluates the function on a vector argument.
virtual Task< IElement > EvaluateVectorAsync(IVector Argument, Variables Variables)
Evaluates the function on a vector argument.
virtual Task< IElement > EvaluateVectorAsync(ComplexVector Argument, Variables Variables)
Evaluates the function on a vector argument.
abstract IElement EvaluateVector(IVector Argument, Variables Variables)
Evaluates the function on a vector argument.
virtual IElement EvaluateVector(ComplexVector Argument, Variables Variables)
Evaluates the function on a vector argument.
override IElement Evaluate(IElement Argument, Variables Variables)
Evaluates the function.
virtual IElement EvaluateNonVector(IElement Argument, Variables Variables)
Evaluates the function on a non-vector. By default, the non-vector argument is converted to a vector ...
virtual IElement EvaluateVector(BooleanVector Argument, Variables Variables)
Evaluates the function on a vector argument.
FunctionOneVectorVariable(ScriptNode Argument, int Start, int Length, Expression Expression)
Base class for funcions of one vector variable.
virtual IElement EvaluateVector(DoubleVector Argument, Variables Variables)
Evaluates the function on a vector argument.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
int Start
Start position in script expression.
static IElement Encapsulate(Array Elements, bool CanEncapsulateAsMatrix, ScriptNode Node)
Encapsulates the elements of a vector.
Basic interface for all types of elements.
Basic interface for matrices.
Basic interface for vectors.
Basic interface for all types of sets.