Changeset 7843 for branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs
- Timestamp:
- 05/16/12 16:58:16 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/SymbolicDataAnalysisExpressionTreeInterpreter.cs
r7842 r7843 366 366 } 367 367 case OpCodes.Square: { 368 return Math.Pow(Evaluate(dataset, ref row, state), 2);368 return Math.Pow(Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues), 2); 369 369 } 370 370 case OpCodes.Power: { … … 374 374 } 375 375 case OpCodes.SquareRoot: { 376 return Math.Sqrt(Evaluate(dataset, ref row, state));376 return Math.Sqrt(Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues)); 377 377 } 378 378 case OpCodes.Root: { … … 388 388 } 389 389 case OpCodes.Gamma: { 390 var x = Evaluate(dataset, ref row, state);390 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 391 391 if (double.IsNaN(x)) return double.NaN; 392 392 else return alglib.gammafunction(x); 393 393 } 394 394 case OpCodes.Psi: { 395 var x = Evaluate(dataset, ref row, state);395 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 396 396 if (double.IsNaN(x)) return double.NaN; 397 397 else if (x.IsAlmost(0.0)) return double.NaN; … … 400 400 } 401 401 case OpCodes.Dawson: { 402 var x = Evaluate(dataset, ref row, state);402 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 403 403 if (double.IsNaN(x)) return double.NaN; 404 404 return alglib.dawsonintegral(x); 405 405 } 406 406 case OpCodes.ExponentialIntegralEi: { 407 var x = Evaluate(dataset, ref row, state);407 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 408 408 if (double.IsNaN(x)) return double.NaN; 409 409 return alglib.exponentialintegralei(x); … … 411 411 case OpCodes.SineIntegral: { 412 412 double si, ci; 413 var x = Evaluate(dataset, ref row, state);413 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 414 414 if (double.IsNaN(x)) return double.NaN; 415 415 else { … … 420 420 case OpCodes.CosineIntegral: { 421 421 double si, ci; 422 var x = Evaluate(dataset, ref row, state);422 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 423 423 if (double.IsNaN(x)) return double.NaN; 424 424 else { … … 429 429 case OpCodes.HyperbolicSineIntegral: { 430 430 double shi, chi; 431 var x = Evaluate(dataset, ref row, state);431 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 432 432 if (double.IsNaN(x)) return double.NaN; 433 433 else { … … 438 438 case OpCodes.HyperbolicCosineIntegral: { 439 439 double shi, chi; 440 var x = Evaluate(dataset, ref row, state);440 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 441 441 if (double.IsNaN(x)) return double.NaN; 442 442 else { … … 447 447 case OpCodes.FresnelCosineIntegral: { 448 448 double c = 0, s = 0; 449 var x = Evaluate(dataset, ref row, state);449 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 450 450 if (double.IsNaN(x)) return double.NaN; 451 451 else { … … 456 456 case OpCodes.FresnelSineIntegral: { 457 457 double c = 0, s = 0; 458 var x = Evaluate(dataset, ref row, state);458 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 459 459 if (double.IsNaN(x)) return double.NaN; 460 460 else { … … 465 465 case OpCodes.AiryA: { 466 466 double ai, aip, bi, bip; 467 var x = Evaluate(dataset, ref row, state);467 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 468 468 if (double.IsNaN(x)) return double.NaN; 469 469 else { … … 474 474 case OpCodes.AiryB: { 475 475 double ai, aip, bi, bip; 476 var x = Evaluate(dataset, ref row, state);476 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 477 477 if (double.IsNaN(x)) return double.NaN; 478 478 else { … … 482 482 } 483 483 case OpCodes.Norm: { 484 var x = Evaluate(dataset, ref row, state);484 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 485 485 if (double.IsNaN(x)) return double.NaN; 486 486 else return alglib.normaldistribution(x); 487 487 } 488 488 case OpCodes.Erf: { 489 var x = Evaluate(dataset, ref row, state);489 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 490 490 if (double.IsNaN(x)) return double.NaN; 491 491 else return alglib.errorfunction(x); 492 492 } 493 493 case OpCodes.Bessel: { 494 var x = Evaluate(dataset, ref row, state);494 var x = Evaluate(dataset, ref row, lastObservedRow, state, cachedPrognosedValues); 495 495 if (double.IsNaN(x)) return double.NaN; 496 496 else return alglib.besseli0(x);
Note: See TracChangeset
for help on using the changeset viewer.