Changeset 16654 for branches/2866_SymRegHyperbolicFunctions/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs
- Timestamp:
- 03/07/19 12:29:27 (5 years ago)
- Location:
- branches/2866_SymRegHyperbolicFunctions/HeuristicLab.Problems.DataAnalysis.Symbolic
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2866_SymRegHyperbolicFunctions/HeuristicLab.Problems.DataAnalysis.Symbolic
- Property svn:mergeinfo changed
-
branches/2866_SymRegHyperbolicFunctions/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Interpreter/SymbolicDataAnalysisExpressionTreeILEmittingInterpreter.cs
r16360 r16654 1 1 #region License Information 2 2 /* HeuristicLab 3 * Copyright (C) 2002-201 8Heuristic and Evolutionary Algorithms Laboratory (HEAL)3 * Copyright (C) 2002-2019 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 4 * 5 5 * This file is part of HeuristicLab. … … 30 30 using HeuristicLab.Encodings.SymbolicExpressionTreeEncoding; 31 31 using HeuristicLab.Parameters; 32 using H euristicLab.Persistence.Default.CompositeSerializers.Storable;32 using HEAL.Attic; 33 33 34 34 namespace HeuristicLab.Problems.DataAnalysis.Symbolic { 35 [Storable Class]35 [StorableType("426718E3-2A57-4CA4-98A1-65EDD0B0BDBF")] 36 36 [Item("SymbolicDataAnalysisExpressionTreeILEmittingInterpreter", "Interpreter for symbolic expression trees.")] 37 37 public sealed class SymbolicDataAnalysisExpressionTreeILEmittingInterpreter : ParameterizedNamedItem, ISymbolicDataAnalysisExpressionTreeInterpreter { … … 104 104 105 105 [StorableConstructor] 106 private SymbolicDataAnalysisExpressionTreeILEmittingInterpreter( bool deserializing) : base(deserializing) { }106 private SymbolicDataAnalysisExpressionTreeILEmittingInterpreter(StorableConstructorFlag _) : base(_) { } 107 107 108 108 private SymbolicDataAnalysisExpressionTreeILEmittingInterpreter(SymbolicDataAnalysisExpressionTreeILEmittingInterpreter original, Cloner cloner) : base(original, cloner) { } … … 425 425 Label c1 = il.DefineLabel(); 426 426 CompileInstructions(il, state, ds); 427 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // > 0427 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // > 0 428 428 il.Emit(System.Reflection.Emit.OpCodes.Cgt); 429 429 il.Emit(System.Reflection.Emit.OpCodes.Brfalse, c1); … … 440 440 CompileInstructions(il, state, ds); 441 441 for (int i = 1; i < nArgs; i++) { 442 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // > 0442 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // > 0 443 443 il.Emit(System.Reflection.Emit.OpCodes.Cgt); 444 444 il.Emit(System.Reflection.Emit.OpCodes.Brfalse, falseBranch); 445 445 CompileInstructions(il, state, ds); 446 446 } 447 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // > 0447 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // > 0 448 448 il.Emit(System.Reflection.Emit.OpCodes.Cgt); 449 449 il.Emit(System.Reflection.Emit.OpCodes.Brfalse, falseBranch); … … 465 465 // complex definition because of special properties of NaN 466 466 il.Emit(System.Reflection.Emit.OpCodes.Dup); 467 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // <= 0467 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // <= 0 468 468 il.Emit(System.Reflection.Emit.OpCodes.Ble, nextArgBranch); 469 469 il.Emit(System.Reflection.Emit.OpCodes.Br, resultBranch); … … 473 473 } 474 474 il.MarkLabel(resultBranch); 475 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // > 0475 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // > 0 476 476 il.Emit(System.Reflection.Emit.OpCodes.Cgt); 477 477 il.Emit(System.Reflection.Emit.OpCodes.Brtrue, trueBranch); … … 486 486 case OpCodes.NOT: { 487 487 CompileInstructions(il, state, ds); 488 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0); // > 0488 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); // > 0 489 489 il.Emit(System.Reflection.Emit.OpCodes.Cgt); 490 490 il.Emit(System.Reflection.Emit.OpCodes.Conv_R8); // convert to float64 … … 498 498 case OpCodes.XOR: { 499 499 CompileInstructions(il, state, ds); 500 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0);500 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); 501 501 il.Emit(System.Reflection.Emit.OpCodes.Cgt);// > 0 502 502 503 503 for (int i = 1; i < nArgs; i++) { 504 504 CompileInstructions(il, state, ds); 505 il.Emit(System.Reflection.Emit.OpCodes.Ldc_ I4_0);505 il.Emit(System.Reflection.Emit.OpCodes.Ldc_R8, 0.0); 506 506 il.Emit(System.Reflection.Emit.OpCodes.Cgt);// > 0 507 507 il.Emit(System.Reflection.Emit.OpCodes.Xor);
Note: See TracChangeset
for help on using the changeset viewer.