Gary Beene's Information Centers
Parser Code Comparison eoeq.dll
29 June 2007 Note:  Include files are part of the product installation package.
clsMathParser Simple Expression Evaluator MTParser muParser Formula One MSScript AxEval bcParser TFunctionParser ecMathExpr Cioina Precision Expression Evaluator #Calculation Component USPExpress EquTranslator uCalc
Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:             Basic Code:            
                                                                                                                                                                                                                                                               
Dim Parser As New clsMathParser         Equation = "x + y"                            'set the equation       Dim Parser As New MTParser           hParser = mupCreate           Equation = "x + y"             sc1.ExecuteStatement "x = " & iX         txtAxHidden.Text = "x = " & iX & vbCrLf & "y = " & iY & vbCrLf & Equation   Dim WithEvents bcParser As BCPARSERLib.Parser       Dim FunctionParser As Object           ecMathExpr1.compile Formula                           PEE.Expression = Equation           EvalResult = SharpCalc1.Evaluate("x=" & iX & ",y=" & iY & "," & Equation)   Dim iEq As USPExpression, iErr As Integer, sVariables(1 To 2) As String   Dim arg(1) As Double, Formula As String         xPtr = ucDefineVariable("x As Long", VarPtr(X))      
Parser.StoreExpression Equation         Equation = Replace(Equation, "x", iX)         'set X       Dim X As New MTDouble, Y As New MTDouble                       Equation = Replace(LCase(Equation), "exp", "qqq")  'remove x references   sc1.ExecuteStatement "y = " & iY         AxEval.Evaluate txtAxHidden.Text, d(1)         Set bcParser = New BCPARSERLib.Parser       Set FunctionParser = CreateObject("mhgspars.FunctionParser")                        Dim Saved8087CW As Integer                                              Dim dValues(1 To 2) As Double, Index As Integer, sExpression As String   BuildEqu "f(x,y)=" & Equation           yPtr = ucDefineVariable("y As Long", VarPtr(Y))      
                Equation = Replace(Equation, "y", iY)         'set Y       X.Create "x", 1             mupDefineVar hParser, "x", VarPtr(X)                         EvalResult = sc1.Eval(Equation)                           bcParser.OptimizationOn = True           FunctionParser.Term = Equation         ecMathExpr1.Variable("x") = iX                 'set X       Saved8087CW = GetFPU8087CW         PEE.SetVariable "x", X                         'set X                                                       ExprPtr = ucParse(Equation)          
Parser.VarValue(1) = iX                       'set X       EvalResult = ParseVB(Formula3)                'evaluate equation     Y.Create "y", 1             mupDefineVar hParser, "y", VarPtr(Y)         Formula1 = Replace(LCase(Formula1), "x", str$(iX)) 'replace x with values                                   bcParser.Expression = Formula                           ecMathExpr1.Variable("y") = iY                 'set Y       SetFPU8087CW 4978           PEE.SetVariable "y", Y                         'set Y                       Set iEq = New USPExpression           arg(0) = iX                                    'set X                          
Parser.VarValue(2) = iY                       'set Y                       Parser.defineVar X             mupSetExpr hParser, Equation           Formula2 = Replace(LCase(Formula1), "y", str$(iY)) 'replace y with values                                                   FunctionParser.SetVarValue "x", iX              'set X       EvalResult = ecMathExpr1.Value                 'evaluate expression with new values CreateList                                               sVariables(1) = "x": sVariables(2) = "y"         arg(1) = iY                                    'set Y         EvalResult = ucEvaluate(ExprPtr)                     
EvalResult = Parser.Eval                      'evalute results                     Parser.defineVar Y                             Formula2 = Replace(LCase(Formula1), "qqq", "EXP")  'restore x references                                   bcParser.X = iX                          'set X         FunctionParser.SetVarValue "y", iY              'set Y                       AddMathExpressionWithUserFunctions         EvalResult = PEE.Evaluate                      'evaluate expression                     sExpression = txtUSPEquation.Text         EvalResult = CalcFor(arg(0))           'evaluate expression                    
                                Parser.compile txtMTEquation.Text         X = iX                                        'set X         F1.FormulaRC(1, 1) = Formula2                      'put equation in cells                                   bcParser.Y = iY                          'set Y         EvalResult = FunctionParser.Result              'evaluate expression                                                                     Index = iEq.Parse(sExpression, sVariables, iErr)                       ucReleaseItem ExprPtr          
                                                Y = iY                                        'set Y         EvalResult = F1.NumberRC(1, 1)                     'read value from cell                                   EvalResult = bcParser.Evaluate           'evaluate expression                                     SetProtectVariablesEndedWithoutNumber 0, True                                                                       ucReleaseItem xPtr            
                                X.Value = iX                                  'set X         EvalResult = mupEval(hParser)                 'evaluate expression                                                                                                     Parse 0, txtCioEquation.Text, "x,y", False                                         dValues(1) = X                             ucReleaseItem yPtr            
                                Y.Value = iY                                  'set Y                                                                                                                                                                                   dValues(2) = Y                                            
                                EvalResult = Parser.evaluateCompiled()        'evaluate expression     mupRelease (hParser)                                                                                                           SetVariableValue 0, 1, iX                                           EvalResult = iEq.Evaluate(dValues)                                        
                                                                                                                                                                SetVariableValue 0, 2, iY                                                                                          
                                                                                                                                                                EvalResult = DoMathExpression(0)                                                                                        
                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                               
Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include files:             Include Files:             Include files:             Include files:            
clsMathParsr.cls             ExpEval.bas             MTParserCOM.dll             muParser.dll             ttf16.ocx inv.dll             msscript.ocx             AxEval.dll               bcParser.dll             mhgspars.dll             ecMathExpr.ocx             cioina.bdll                                                               EquTranslator.bas             uCalcVB.Bas (declarations/supporting functions)      
mMathSpecFun.bas                                                               invr.dll                                                                                             cioina.bas                                                                                              
                                                                  invw.dll                                                                                                                                                                                            
                                                                                                                                                                                                                                                                 
Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:           Complete Code:             Complete Code:          
                                                                                                                                                                                                                                                                 
Private Sub cmdCLS_Click()           Private Sub cmdSE_Click()           Private Sub cmdMTParser_Click()         Private Sub cmdmuParser_Click()         Private Sub cmdOne_Click()           Private Sub cmdMSS_Click()           Private Sub cmdAx_Click()           Private Sub cmdBC_Click()           Private Sub cmdTFP_Click()           Private Sub cmdEC_Click()           Private Sub cmdCioina_Click()         Private Sub cmdPEE_Click()           Private Sub cmdSHR_Click()           Private Sub cmdUSP_Click()           Private Sub cmdEqu_Click()           Private Sub cmduCalc_Click()          
                                                'time-keeping code                                                                                                                                                                                                              
'time-keeping code             'time-keeping code             'time-keeping code             Dim iStart As Long, iEnd As Long         'time-keeping code              'time-keeping code              'time-keeping code              'time-keeping code             'time-keeping code             'time-keeping code                 'time-keeping code           'time-keeping code              'time-keeping code             'time-keeping code             'time-keeping code (put here so the popu EquTranslator window won't affect timing  'time-keeping code            
Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long         iStart = GetTickCount           Dim iStart As Long, iEnd As Long          Dim iStart As Long, iEnd As Long          Dim iStart As Long, iEnd As Long          Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long             Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long          Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long         Dim iStart As Long, iEnd As Long          Dim iStart As Long, iEnd As Long        
iStart = GetTickCount           iStart = GetTickCount           iStart = GetTickCount                           iStart = GetTickCount            iStart = GetTickCount            iStart = GetTickCount            iStart = GetTickCount           iStart = GetTickCount           iStart = GetTickCount               iStart = GetTickCount           iStart = GetTickCount            iStart = GetTickCount           iStart = GetTickCount           iStart = GetTickCount            iStart = GetTickCount          
                                                'example code initialization                                                                                                                                                                                                          
'example code initialization           'example code initialization           'example code initialization           Dim iX As Long, iY As Long           'example code initialization            'example code initialization            'example code initialization            'example code initialization           'example code initialization           'example code initialization               'example code initialization           'example code initialization            'example code initialization           'example code initialization           'example code initialization            'example code initialization          
Dim iX As Long, iY As Long           Dim iX As Long, iY As Long           Dim iX As Long, iY As Long           Dim iRepeatsX As Long, iRepeatsY As Long       Dim iX As Long, iY As Long            Dim iX As Long, iY As Long            Dim iX As Long, iY As Long            Dim iX As Long, iY As Long           Dim iX As Long, iY As Long           Dim iX As Long, iY As Long, Formula As String           Dim iX As Long, iY As Long           Dim iX As Long, iY As Long            Dim iX As Long, iY As Long           Dim iX As Long, iY As Long           Dim iX As Long, iY As Long            Dim iX As Long, iY As Long          
Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long       Dim CombinedResult As Double, EvalResult As Double     Dim iRepeatsX As Long, iRepeatsY As Long        Dim iRepeatsX As Long, iRepeatsY As Long        Dim iRepeatsX As Long, iRepeatsY As Long        Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long           Dim i As Long, iRepeatsX As Long, iRepeatsY As Long     Dim iRepeatsX As Long, iRepeatsY As Long        Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long       Dim iRepeatsX As Long, iRepeatsY As Long        Dim iRepeatsX As Long, iRepeatsY As Long      
Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double     iRepeatsX = txtMURepeatsX.Text    'get from user       Dim CombinedResult As Double, EvalResult As Double      Dim CombinedResult As Double, EvalResult As Double      Dim CombinedResult As Double, EvalResult As Double      Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double         Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double      Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double     Dim CombinedResult As Double, EvalResult As Double      Dim CombinedResult As Double, EvalResult As Double    
iRepeatsX = txtCLSRepeatsX.Text    'get from user       iRepeatsX = txtSERepeatsX.Text    'get from user       iRepeatsX = txtMTRepeatsX.Text    'get from user       iRepeatsY = txtMURepeatsY.Text    'get from user       iRepeatsX = txtOneRepeatsX.Text    'get from user        iRepeatsX = txtMSSRepeatsX.Text    'get from user        iRepeatsX = txtAxRepeatsX.Text    'get from user        iRepeatsX = txtBCRepeatsX.Text    'get from user       iRepeatsX = txtTFPRepeatsX.Text    'get from user       iRepeatsX = txtECRepeatsX.Text    'get from user           iRepeatsX = txtCioRepeatsX.Text    'get from user       iRepeatsX = txtPEERepeatsX.Text    'get from user        iRepeatsX = txtSHRRepeatsX.Text    'get from user       iRepeatsX = txtUSPRepeatsX.Text    'get from user       iRepeatsX = txtEquRepeatsX.Text    'get from user        iRepeatsX = txtDCRepeatsX.Text    'get from user      
iRepeatsY = txtCLSRepeatsY.Text    'get from user       iRepeatsY = txtSERepeatsY.Text    'get from user       iRepeatsY = txtMTRepeatsY.Text    'get from user                       iRepeatsY = txtOneRepeatsY.Text    'get from user        iRepeatsY = txtMSSRepeatsY.Text    'get from user        iRepeatsY = txtAxRepeatsY.Text    'get from user        iRepeatsY = txtBCRepeatsY.Text    'get from user       iRepeatsY = txtTFPRepeatsY.Text    'get from user       iRepeatsY = txtECRepeatsY.Text    'get from user           iRepeatsY = txtCioRepeatsY.Text    'get from user       iRepeatsY = txtPEERepeatsY.Text    'get from user        iRepeatsY = txtSHRRepeatsY.Text    'get from user       iRepeatsY = txtUSPRepeatsY.Text    'get from user       iRepeatsY = txtEquRepeatsY.Text    'get from user        iRepeatsY = txtDCRepeatsY.Text    'get from user      
                                                'muParser-specific initialization                                                                                                                                                                                                                           
'clsMathParser-specific initialization         'Simple Expression Evaluator-specific initialization       'MTParser-specific initialization           Dim X As Double, Y As Double           'uCalc-specific initializations            'uCalc-specific initializations            'AxEval-specific initializations            'bcParser-specific initializations           'TFunctionParser-specific initializations         'ecMathExpr-specific initializations             'Cioina Parser-specific initialization         'Precision Expression Calculator-specific initializations        '#Calculator-specific initializations         'USPExpressParser-specific initialization         'EquTranslator Parser-specific initialization          'uCalc-specific initializations          
Dim Parser As New clsMathParser         Dim Formula1 As String, Formula2 As String, Formula3 As String     Dim Parser As New MTParser           Dim hParser As Long, Equation As String         Dim X As Long, xPtr As Long            Dim X As Long, xPtr As Long            Dim X As Double, Y As Double, Formula As String, d(1) As Double    Dim X As Double, Y As Double           Dim X As Long, Y As Long           Dim X As Double, Y As Double               Dim X As Long, Y As Long           PEE.Expression = txtPEEEquation.Text          Dim X As Double, Y As Double           Dim iEq As USPExpression, lErr As Integer, sVariables(1 To 2) As String   Dim arg(1) As Double, Formula As String          Dim X As Long, xPtr As Long          
Parser.StoreExpression txtCLSEquation.Text       Formula1 = txtSEEquation.Text           Dim X As New MTDouble, Y As New MTDouble       Equation = txtMUEquation.Text           Dim Y As Long, yPtr As Long            Dim Y As Long, yPtr As Long            Formula = Replace(txtAxEquation.Text, "sqrt", "sqr")        Dim Formula As String           Dim FunctionParser As Object           Formula = txtECEquation.Text               Dim Saved8087CW As Integer                             Dim Equation As String           Dim dValues(1 To 2) As Double, lIndex As Integer       Formula = txtEquEquation.Text            Dim Y As Long, yPtr As Long          
                                X.Create "x", 1             hParser = mupCreate           Dim Equation As String, Formula1 As String        Dim Equation As String, Formula1 As String, Formula2 As String                    Formula = txtBCEquation.Text           ' Creating FunctionParser Automation Object       Formula = Replace(Formula, "sqrt", "sqr")             Saved8087CW = GetFPU8087CW         'initialization                             Dim dValue As Double, sExpression As String       BuildEqu "f(x,y)=" & Formula            Dim ExprPtr As Long          
'initialization             'initialization             Y.Create "y", 1                             Dim Formula2 As String, Formula3 As String                        'initialization              bcParser.OptimizationOn = True         Set FunctionParser = CreateObject("mhgspars.FunctionParser")     ecMathExpr1.compile Formula               SetFPU8087CW 4978           txtPEEResult.Text = "<in work>"  'progress report        'initialization             Set iEq = New USPExpression                            xPtr = ucDefineVariable("x As Long", VarPtr(X))  'define "x"    
txtCLSResult.Text = "<in work>"  'report progress       txtSEResult.Text = "<in work>"  'progress report       Parser.defineVar X             mupDefineVar hParser, "x", VarPtr(X)                          'initialization              txtAxResult.Text = "<in work>"  'to let user know something is happening    bcParser.Expression = Formula         FunctionParser.Term = txtTFPEquation.Text                              CreateList             txtPEETime.Text = "<in work>"            Equation = txtSHREquation.Text         sVariables(1) = "x": sVariables(2) = "y"         'initialization              yPtr = ucDefineVariable("y As Long", VarPtr(Y))  'define "y"    
txtCLSTime.Text = "<in work>"           txtSETime.Text = "<in work>"           Parser.defineVar Y             mupDefineVar hParser, "y", VarPtr(Y)         'initialization              Equation = txtOneEquation.Text          txtAxTime.Text = "<in work>"                                           'initialization                 AddMathExpressionWithUserFunctions         txtPEESpeed.Text = "<in work>"          txtSHRResult.Text = "<in work>"  'progress report       sExpression = txtUSPEquation.Text         txtEquResult.Text = "<in work>"  'progress report        ExprPtr = ucParse(txtDCEquation.Text)        
txtCLSSpeed.Text = "<in work>"         txtSESpeed.Text = "<in work>"           Parser.compile txtMTEquation.Text         mupSetExpr hParser, Equation           Equation = txtOneEquation.Text            Equation = Replace(Equation, "sqrt", "sqr")        txtAxSpeed.Text = "<in work>"            'initialization             'initialization             txtECResult.Text = "<in work>"  'progress report           SetProtectVariablesEndedWithoutNumber 0, True       DoEvents                txtSHRTime.Text = "<in work>"           lIndex = iEq.Parse(sExpression, sVariables, lErr)       txtEquTime.Text = "<in work>"                          
DoEvents               DoEvents                                               Equation = Replace(LCase(Equation), "exp", "qqq")        txtMSSResult.Text = "<in work>"  'progress report        DoEvents                txtBCResult.Text = "<in work>"  'progress report       txtTFPResult.Text = "<in work>"  'progress report       txtECTime.Text = "<in work>"               Parse 0, txtCioEquation.Text, "x,y", False                        txtSHRSpeed.Text = "<in work>"                         txtEquSpeed.Text = "<in work>"            'initialization            
                                'initialization             'initialization                              txtMSSTime.Text = "<in work>"                          txtBCTime.Text = "<in work>"           txtTFPTime.Text = "<in work>"           txtECSpeed.Text = "<in work>"                              'Loop                DoEvents               'initialization             DoEvents                txtDCResult.Text = "<in work>"  'progress report      
'Loop               'Loop               txtMTResult.Text = "<in work>"  'progress report       txtMUResult.Text = "<in work>"  'progress report       txtOneResult.Text = "<in work>"  'progress report        txtMSSSpeed.Text = "<in work>"          'Loop                txtBCSpeed.Text = "<in work>"           txtTFPSpeed.Text = "<in work>"         DoEvents                   'initialization             For iX = 1 To iRepeatsX                           txtUSPResult.Text = "<in work>"  'progress report                        txtDCTime.Text = "<in work>"          
For iX = 1 To iRepeatsX           For iX = 1 To iRepeatsX           txtMTTime.Text = "<in work>"           txtMUTime.Text = "<in work>"           txtOneTime.Text = "<in work>"            DoEvents                For iX = 1 To iRepeatsX            DoEvents               DoEvents                                   txtCioResult.Text = "<in work>"  'progress report           PEE.SetVariable "x", iX                             'set X        'Loop               txtUSPTime.Text = "<in work>"           'Loop                txtDCSpeed.Text = "<in work>"          
    Parser.VarValue(1) = iX                           'set X           Formula2 = Replace(Formula1, "x", iX)         txtMTSpeed.Text = "<in work>"           txtMUSpeed.Text = "<in work>"           txtOneSpeed.Text = "<in work>"                              For iY = 1 To iRepeatsY                                           'Loop                   txtCioTime.Text = "<in work>"             For iY = 1 To iRepeatsY            For iX = 1 To iRepeatsX           txtUSPSpeed.Text = "<in work>"         For iX = 1 To iRepeatsX            DoEvents              
    For iY = 1 To iRepeatsY               For iY = 1 To iRepeatsY                           'set X       DoEvents               DoEvents               DoEvents                'Loop                        txtAxHidden.Text = "x = " & iX & vbCrLf & "y = " & iY & vbCrLf & Formula  'Loop               'Loop               For iX = 1 To iRepeatsX               txtCioSpeed.Text = "<in work>"                 PEE.SetVariable "y", iY                         'set Y            For iY = 1 To iRepeatsY           DoEvents                   arg(0) = iX                                        'set X                      
        Parser.VarValue(2) = iY                       'set Y               Formula3 = Replace(Formula2, "y", iY)         'set Y                                                      For iX = 1 To iRepeatsX                    AxEval.Evaluate txtAxHidden.Text, d(1)        For iX = 1 To iRepeatsX           For iX = 1 To iRepeatsX               ecMathExpr1.Variable("x") = iX                     'set X           DoEvents                     EvalResult = PEE.Evaluate                       'evaluate expression            EvalResult = SharpCalc1.Evaluate("x=" & iX & ",y=" & iY & "," & Equation)                     For iY = 1 To iRepeatsY            'Loop              
        EvalResult = Parser.Eval                      'evalute results             EvalResult = ParseVB(Formula3)                'evaluate equation   'Loop               'Loop               'Loop                    sc1.ExecuteStatement "x = " & iX                  CombinedResult = CombinedResult + Val(d(1))    'save results        bcParser.X = iX                                     'set X           FunctionParser.SetVarValue "x", iX                  'set X         For iY = 1 To iRepeatsY                                      CombinedResult = CombinedResult + EvalResult    'keep results            CombinedResult = CombinedResult + EvalResult    'save results   'Loop                       arg(1) = iY                                    'set Y        For X = 1 To iRepeatsX          
        CombinedResult = CombinedResult + EvalResult  'keep resuls           CombinedResult = CombinedResult + EvalResult  'keep results   For iX = 1 To iRepeatsX           For iX = 1 To iRepeatsX           For iX = 1 To iRepeatsX                For iY = 1 To iRepeatsY                Next iY                  For iY = 1 To iRepeatsY               For iY = 1 To iRepeatsY                   ecMathExpr1.Variable("y") = iY                 'set Y           'Loop                   Next iY                    Next iY             For iX = 1 To iRepeatsX                   EvalResult = CalcFor(arg(0))                   'evaluate expression        For Y = 1 To iRepeatsY          
    Next iY                   Next iY                   X.Value = iX                                      'set X           X = iX                                            'set X           Formula1 = Replace(LCase(Formula1), "x", str$(iX))                sc1.ExecuteStatement "y = " & iY          Next iX                        bcParser.Y = iY                                 'set Y               FunctionParser.SetVarValue "y", iY              'set Y             EvalResult = ecMathExpr1.Value                 'evaluate expression with new values     For iX = 1 To iRepeatsX           Next iX                Next iX                   dValues(1) = iX                     CombinedResult = CombinedResult + EvalResult   'save results            EvalResult = ucEvaluate(ExprPtr)                'evaluate expression  
Next iX               Next iX                   For iY = 1 To iRepeatsY               For iY = 1 To iRepeatsY               For iY = 1 To iRepeatsY                    EvalResult = sc1.Eval(Equation)                                  EvalResult = bcParser.Evaluate                  'evaluate expression           EvalResult = FunctionParser.Result              'evaluate expression           CombinedResult = CombinedResult + EvalResult   'save results           SetVariableValue 0, 1, iX                                               For iY = 1 To iRepeatsY               Next iY                        CombinedResult = CombinedResult + EvalResult    'keep results  
                                          Y.Value = iY                                  'set Y               Y = iY                                        'set Y               Formula2 = Replace(LCase(Formula1), "y", str$(iY))              CombinedResult = CombinedResult + EvalResult      'time-keeping code                      CombinedResult = CombinedResult + EvalResult    'save results           CombinedResult = CombinedResult + EvalResult    'save results       Next iY                       For iY = 1 To iRepeatsY           'time-keeping code              'time-keeping code                     dValues(2) = iY                               'set X       Next iX                    Next Y            
'time-keeping code             'time-keeping code                     EvalResult = Parser.evaluateCompiled()        'evaluate expression           EvalResult = mupEval(hParser)                 'evaluate expression           Formula2 = Replace(LCase(Formula1), "qqq", "EXP")          Next iY              iEnd = GetTickCount                Next iY                 Next iY               Next iX                           SetVariableValue 0, 2, iY         iEnd = GetTickCount              iEnd = GetTickCount                   EvalResult = iEq.Evaluate(dValues)            'evalute expression                    Next X              
iEnd = GetTickCount             iEnd = GetTickCount                     CombinedResult = CombinedResult + EvalResult  'keep results           CombinedResult = CombinedResult + EvalResult  'keep results           F1.FormulaRC(1, 1) = Formula2          Next iX                txtAxResult.Text = Format$(CombinedResult, "###,###,###,##0")    Next iX               Next iX                                           EvalResult = DoMathExpression(0)         txtPEEResult.Text = Format$(CombinedResult, "###,###,###,##0")    txtSHRResult.Text = Format$(CombinedResult, "###,###,###,##0")           CombinedResult = CombinedResult + EvalResult  'keep results   'time-keeping code                            
txtCLSResult.Text = Format$(CombinedResult, "###,###,###,##0")   txtSEResult.Text = Format$(CombinedResult, "###,###,###,##0")       Next iY                   Next iY                       CombinedResult = CombinedResult + F1.NumberRC(1, 1)                      txtAxTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "                                   'time-keeping code                         CombinedResult = CombinedResult + EvalResult     txtPEETime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "    txtSHRTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "       Next iY               iEnd = GetTickCount              ucReleaseItem ExprPtr          
txtCLSTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   txtSETime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   Next iX               Next iX                   Next iY                'time-keeping code             If (iEnd - iStart) > 0 Then            'time-keeping code             'time-keeping code             iEnd = GetTickCount                     Next iY             If (iEnd - iStart) > 0 Then            If (iEnd - iStart) > 0 Then           Next iX               txtEquResult.Text = Format$(CombinedResult, "###,###,###,##0")    ucReleaseItem xPtr            
If (iEnd - iStart) > 0 Then           If (iEnd - iStart) > 0 Then                                            Next iX                iEnd = GetTickCount               txtAxSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _    iEnd = GetTickCount           iEnd = GetTickCount             txtECResult.Text = Format$(CombinedResult, "###,###,###,##0")       Next iX                   txtPEESpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _        txtSHRSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _                   txtEquTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "    ucReleaseItem yPtr            
    txtCLSSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _       txtSESpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _   'time-keeping code             mupRelease (hParser)                            txtMSSResult.Text = Format$(CombinedResult, "###,###,###,##0")       / 1000) / 1000000, "###,###,###,##0.0000") & " Mips/sec"      txtBCResult.Text = Format$(CombinedResult, "###,###,###,##0")   txtTFPResult.Text = Format$(CombinedResult, "###,###,###,##0")   txtECTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "                          / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"          / 1000) / 1000000, "###,###,###,##0.0000") & " Mips/sec"     'time-keeping code             If (iEnd - iStart) > 0 Then                          
    / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"         / 1000) / 1000000, "###,###,###,##0.000") & " Mips/sec"     iEnd = GetTickCount                              'time-keeping code              txtMSSTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   Else                txtBCTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   txtTFPTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   If (iEnd - iStart) > 0 Then               'time-keeping code           Else                Else               iEnd = GetTickCount                 txtEquSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _    'time-keeping code            
Else               Else               txtMTResult.Text = Format$(CombinedResult, "###,###,###,##0")   'time-keeping code             iEnd = GetTickCount              If (iEnd - iStart) > 0 Then               txtAxSpeed.Text = "<large>"            If (iEnd - iStart) > 0 Then           If (iEnd - iStart) > 0 Then               txtECSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _       iEnd = GetTickCount               txtPEESpeed.Text = "<large>"              txtSHRSpeed.Text = "<large>"         txtUSPResult.Text = Format$(CombinedResult, "###,###,###,##0")       / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"      iEnd = GetTickCount          
    txtCLSSpeed.Text = "<large>"             txtCLSSpeed.Text = "<large>"         txtMTTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   iEnd = GetTickCount             txtOneResult.Text = Format$(CombinedResult, "###,###,###,##0")        txtMSSSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _   End If                    txtBCSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _       txtTFPSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _       / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"         txtCioResult.Text = Format$(CombinedResult, "###,###,###,##0")   End If                End If               txtUSPTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   Else                txtDCResult.Text = Format$(CombinedResult, "###,###,###,##0")  
End If               End If               If (iEnd - iStart) > 0 Then           txtMUResult.Text = Format$(CombinedResult, "###,###,###,##0")   txtOneTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "        / 1000) / 1000000, "###,###,###,##0.000") & " Mips/sec"                          / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"         / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"     Else                   txtCioTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "                                   If (iEnd - iStart) > 0 Then               txtEquSpeed.Text = "<large>"          txtDCTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "  
                                    txtMTSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _   txtMUTime.Text = FormatNumber((iEnd - iStart) / 1000, 3) & " seconds "   If (iEnd - iStart) > 0 Then            Else               End Sub                Else               Else                   txtECSpeed.Text = "<large>"               If (iEnd - iStart) > 0 Then           End Sub               End Sub                   txtUSPSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _   End If                If (iEnd - iStart) > 0 Then          
End Sub               End Sub                   / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"     If (iEnd - iStart) > 0 Then               txtOneSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _        txtMSSSpeed.Text = "<large>"                              txtBCSpeed.Text = "<large>"             txtTFPSpeed.Text = "<large>"         End If                       txtCioSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _                                       / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"                             txtDCSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _  
                                Else                   txtMUSpeed.Text = Format$(iRepeatsX * iRepeatsY / ((iEnd - iStart) _       / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"      End If                                End If               End If                                       / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"                                     Else               End Sub                    / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"    
                                    txtMTSpeed.Text = "<large>"               / 1000) / 1000000, "###,###,###,##0.00") & " Mips/sec"     Else                                                                               End Sub                   Else                                                   txtUSPSpeed.Text = "<large>"                          Else              
                                End If               Else                   txtOneSpeed.Text = "<large>"         End Sub                               End Sub               End Sub                                       txtCioSpeed.Text = "<large>"                                         End If                                    txtDCSpeed.Text = "<large>"        
                                                    txtMTSpeed.Text = "<large>"           End If                                                                                                   End If                                                                                End If              
                                End Sub               End If                                                                                                                                                                  End Sub                                              
                                                                End Sub                                                                                               End Sub                                                                               End Sub              
                                                End Sub