1using System.Collections.Generic;
3using System.Threading.Tasks;
38 object Obj =
Argument.AssociatedObjectValue;
64 LinkedList<IElement> Elements =
new LinkedList<IElement>();
65 int i, c = Vector.Dimension;
69 double[] v = dv.Values;
70 for (i = 0; i < c; i++)
71 Elements.AddLast(
this.EvaluateScalar(v[i],
Variables));
75 Complex[] v = cv.Values;
76 for (i = 0; i < c; i++)
77 Elements.AddLast(
this.EvaluateScalar(v[i],
Variables));
82 for (i = 0; i < c; i++)
83 Elements.AddLast(
this.EvaluateScalar(v[i],
Variables));
91 return Argument.Encapsulate(Elements,
this);
95 LinkedList<IElement> Elements =
new LinkedList<IElement>();
100 return Argument.Encapsulate(Elements,
this);
113 object Value =
Argument.AssociatedObjectValue;
207 object Obj =
Argument.AssociatedObjectValue;
212 if (Obj is Complex z)
233 LinkedList<IElement> Elements =
new LinkedList<IElement>();
234 int i, c = Vector.Dimension;
238 double[] v = dv.Values;
239 for (i = 0; i < c; i++)
240 Elements.AddLast(await
this.EvaluateScalarAsync(v[i],
Variables));
244 Complex[] v = cv.Values;
245 for (i = 0; i < c; i++)
246 Elements.AddLast(await this .EvaluateScalarAsync(v[i],
Variables));
250 bool[] v = bv.Values;
251 for (i = 0; i < c; i++)
252 Elements.AddLast(await this .EvaluateScalarAsync(v[i],
Variables));
260 return Argument.Encapsulate(Elements,
this);
264 LinkedList<IElement> Elements =
new LinkedList<IElement>();
269 return Argument.Encapsulate(Elements,
this);
282 object Value =
Argument.AssociatedObjectValue;
Script runtime exception.
Class managing a script expression.
static bool TryConvert(object Value, Type DesiredType, out object Result)
Tries to convert an object Value to an object of type DesiredType .
Base class for funcions of one scalar variable.
override IElement Evaluate(IElement Argument, Variables Variables)
Evaluates the function.
virtual IElement EvaluateScalar(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(Complex Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual IElement EvaluateScalar(Measurement Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(double Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual IElement EvaluateScalar(PhysicalQuantity Argument, Variables Variables)
Evaluates the function on a scalar argument.
override async Task< IElement > EvaluateAsync(IElement Argument, Variables Variables)
Evaluates the function.
virtual Task< IElement > EvaluateScalarAsync(IElement Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(bool Argument, Variables Variables)
Evaluates the function on a scalar argument.
FunctionOneScalarVariable(ScriptNode Argument, int Start, int Length, Expression Expression)
Base class for funcions of one scalar variable.
virtual IElement EvaluateScalar(double Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(Measurement Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual IElement EvaluateScalar(Complex Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual IElement EvaluateScalar(bool Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual Task< IElement > EvaluateScalarAsync(PhysicalQuantity Argument, Variables Variables)
Evaluates the function on a scalar argument.
virtual IElement EvaluateScalar(string Argument, Variables Variables)
Evaluates the function on a scalar argument.
Base class for funcions of one variable.
ScriptNode Argument
Function 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.
double Magnitude
Magnitude
double Magnitude
Magnitude
Basic interface for all types of elements.
ICollection< IElement > ChildElements
An enumeration of child elements. If the element is a scalar, this property will return null.
Basic interface for vectors.
Interface for objects that can be represented as a physical quantity.