2using System.Collections.Generic;
41 get {
return new string[] {
"x",
"Pos",
"Len" }; }
53 if (Pos < 0 || Pos >
int.MaxValue || Pos != Math.Truncate(Pos))
59 if (Len < 0 || Len >
int.MaxValue || Len != Math.Truncate(Len))
64 if (
Arguments[0].AssociatedObjectValue is
string s)
77 ICollection<IElement> ChildElements;
81 int l = Vector.Dimension;
92 ChildElements = Vector.VectorElements;
108 if (i == 0 && c == l)
120 Array.Copy(V, i, Result, 0, c);
136 return Arguments[0].Encapsulate(Result,
this);
Base class for all types of elements.
Base class for all types of sets.
virtual ? int Size
Size of set, if finite and known, otherwise null is returned.
override ICollection< IElement > ChildElements
An enumeration of child elements. If the element is a scalar, this property will return null.
Script runtime exception.
Class managing a script expression.
static double ToDouble(object Object)
Converts an object to a double value.
override string[] DefaultArgumentNames
Default Argument names
Mid(ScriptNode X, ScriptNode Pos, ScriptNode Len, int Start, int Length, Expression Expression)
Mid(x,Pos,Len)
override string FunctionName
Name of the function
override IElement Evaluate(IElement[] Arguments, Variables Variables)
Evaluates the function on a vector argument.
Base class for multivariate funcions.
ScriptNode[] Arguments
Function arguments.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
Expression Expression
Expression of which the node is a part.
int Start
Start position in script expression.
static readonly StringValue Empty
The empty string.
Basic interface for all types of elements.
Basic interface for vectors.
Basic interface for all types of sets.
ArgumentType
Type of parameter used in a function definition or a lambda definition.