Changeset 14897 for branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/DataEditorView.cs
- Timestamp:
- 04/28/17 22:52:08 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/PushGP/HeuristicLab.PushGP/HeuristicLab.Problem.ProgramSynthesis.BenchmarkSuite/Views/DataEditorView.cs
r14875 r14897 2 2 3 3 namespace HeuristicLab.BenchmarkSuite.Views { 4 using System.Collections.Generic; 4 5 5 6 using HeuristicLab.BenchmarkSuite.Problems; … … 51 52 private Example ParseExample(string[] inputArgs, ExampleArgumentType[] inputArgTypes, string[] outputArgs, ExampleArgumentType[] outputArgTypes) { 52 53 var example = new Example(); 54 var booleanValues = new List<bool>(); 55 var integerValues = new List<long>(); 56 var floatValues = new List<double>(); 57 var charValues = new List<char>(); 58 var stringValues = new List<string>(); 53 59 54 example.InputArgs = new string[inputArgs.Length];60 example.InputArgs = inputArgs; 55 61 for (var i = 0; i < inputArgs.Length; i++) { 56 62 var arg = inputArgs[i]; … … 59 65 switch (type) { 60 66 case ExampleArgumentType.Boolean: 61 example.InputBoolean = new[] { ExampleArgumentConverter.ConvertBoolean(arg) }; 62 example.InputArgs[i] = arg; 67 booleanValues.Add(ExampleArgumentConverter.ConvertBoolean(arg)); 63 68 break; 64 69 case ExampleArgumentType.Integer: 65 example.InputInteger = new[] { ExampleArgumentConverter.ConvertInteger(arg) }; 66 example.InputArgs[i] = arg; 67 break; 68 case ExampleArgumentType.IntegerVector: 69 example.InputInteger = ExampleArgumentConverter.ConvertIntegers(arg); 70 example.InputArgs[i] = string.Join(ValueSeparator, example.InputInteger); 70 integerValues.Add(ExampleArgumentConverter.ConvertInteger(arg)); 71 71 break; 72 72 case ExampleArgumentType.Float: 73 example.InputFloat = new[] { ExampleArgumentConverter.ConvertDouble(arg) }; 74 example.InputArgs[i] = arg; 73 floatValues.Add(ExampleArgumentConverter.ConvertDouble(arg)); 75 74 break; 76 case ExampleArgumentType.FloatVector: 77 example.InputFloat = ExampleArgumentConverter.ConvertDoubles(arg); 78 example.InputArgs[i] = string.Join(ValueSeparator, example.InputFloat); 75 case ExampleArgumentType.Char: 76 charValues.Add(arg.Length == 1 ? arg[0] : default(char)); 77 break; 78 case ExampleArgumentType.String: 79 stringValues.Add(arg); 79 80 break; 80 81 } 81 82 } 82 83 83 example.OutputArgs = new string[outputArgs.Length]; 84 example.InputBoolean = booleanValues.ToArray(); 85 example.InputInteger = integerValues.ToArray(); 86 example.InputFloat = floatValues.ToArray(); 87 example.InputChar = charValues.ToArray(); 88 example.InputString = stringValues.ToArray(); 89 90 booleanValues.Clear(); 91 integerValues.Clear(); 92 floatValues.Clear(); 93 charValues.Clear(); 94 stringValues.Clear(); 95 96 example.OutputArgs = outputArgs; 84 97 for (var i = 0; i < outputArgs.Length; i++) { 85 98 var arg = outputArgs[i]; … … 88 101 switch (type) { 89 102 case ExampleArgumentType.Boolean: 90 example.OutputBoolean = new[] { ExampleArgumentConverter.ConvertBoolean(arg) }; 91 example.OutputArgs[i] = arg; 103 booleanValues.Add(ExampleArgumentConverter.ConvertBoolean(arg)); 92 104 break; 93 105 case ExampleArgumentType.Integer: 94 example.OutputInteger = new[] { ExampleArgumentConverter.ConvertInteger(arg) }; 95 example.OutputArgs[i] = arg; 96 break; 97 case ExampleArgumentType.IntegerVector: 98 example.OutputInteger = ExampleArgumentConverter.ConvertIntegers(arg); 99 example.OutputArgs[i] = string.Join(ValueSeparator, example.OutputInteger); 106 integerValues.Add(ExampleArgumentConverter.ConvertInteger(arg)); 100 107 break; 101 108 case ExampleArgumentType.Float: 102 example.OutputFloat = new[] { ExampleArgumentConverter.ConvertDouble(arg) }; 103 example.OutputArgs[i] = arg; 109 floatValues.Add(ExampleArgumentConverter.ConvertDouble(arg)); 104 110 break; 105 case ExampleArgumentType.FloatVector: 106 example.OutputFloat = ExampleArgumentConverter.ConvertDoubles(arg); 107 example.OutputArgs[i] = string.Join(ValueSeparator, example.OutputFloat); 111 case ExampleArgumentType.Char: 112 charValues.Add(arg.Length == 1 ? arg[0] : default(char)); 113 break; 114 case ExampleArgumentType.String: 115 stringValues.Add(arg); 108 116 break; 109 117 } 110 118 } 119 120 example.OutputBoolean = booleanValues.ToArray(); 121 example.OutputInteger = integerValues.ToArray(); 122 example.OutputFloat = floatValues.ToArray(); 123 example.OutputChar = charValues.ToArray(); 124 example.OutputString = stringValues.ToArray(); 111 125 112 126 return example;
Note: See TracChangeset
for help on using the changeset viewer.