You are here: Symbol Reference > MtxParseExpr Namespace > Classes > TMtxExpression Class > public > Evaluate Method > TMtxExpression.Evaluate Method (integer)
MtxVec VCL
ContentsIndex
PreviousUpNext
TMtxExpression.Evaluate Method (integer)

Evaluates expression at the specified index.

Pascal
function Evaluate(Index: integer): TValueRec; overload;

result of the expression, evaluated at specific index.

If the Index parameter is specified to be -1, the method will evaluate all expressions in the list starting with the first and return the result of the last expression in the list. 

The function returns TValueRec. This object contains information about the type of the result and the result itself. To determine the type read the TValueRec.ValueType property. 

The types in the expression are resolved at compile time and may not change after the first call to the Evalute function. The result of a given expression will therefore always have the same type. 

This allows for omission of certain checks and further increase of code speed. Instead of calling EvaluateDouble method, it would be faster to call just: 

myDouble := myParser.Evaluate.DoubleValue;  

,if you know that the result of the expression is a variable of type double.

uses MtxParseExpr, MtxParseClass; function TMtxExpression.EvaluateDouble(Index :integer): Double; var vr :TValueRec; begin vr:= Evaluate(Index); case vr.ValueType of vtDoubleValue: begin result:= vr.DoubleValue; Exit; end; vtComplexValue: if vr.ComplexValue.Im = 0 then begin result:= vr.ComplexValue.Re; Exit; end; end; raise EMtxParseError.Create ('TMtxExpression.EvaluateDouble: double value expected'); end;
Examples on GitHub
Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!