- Timestamp:
- 04/22/10 16:34:44 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Analysis/3.3/DataTableValuesCollector.cs
r3479 r3489 21 21 22 22 using System; 23 using System.Collections.Generic; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 53 54 foreach (IParameter param in CollectedValues) { 54 55 if (param.ActualValue is DoubleValue) { 55 DoubleValue data = param.ActualValue as DoubleValue; 56 DataRow row; 57 table.Rows.TryGetValue(param.Name, out row); 58 if (row == null) { 59 row = new DataRow(param.Name, param.Description); 60 row.Values.Add(data.Value); 61 table.Rows.Add(row); 62 } else { 63 row.Values.Add(data.Value); 64 } 65 } else if (param.ActualValue is ItemArray<DoubleValue>) { 66 ItemArray<DoubleValue> dataArray = param.ActualValue as ItemArray<DoubleValue>; 67 DataRow row; 68 for (int i = 0; i < dataArray.Length; i++) { 69 table.Rows.TryGetValue(param.Name + i.ToString(), out row); 70 if (row == null) { 71 row = new DataRow(param.Name + i.ToString(), param.Description); 72 row.Values.Add(dataArray[i].Value); 73 table.Rows.Add(row); 74 } else { 75 row.Values.Add(dataArray[i].Value); 76 } 56 AddValue(table, (param.ActualValue as DoubleValue).Value, param.Name, param.Description); 57 } else if (param.ActualValue is IEnumerable<DoubleValue>) { 58 int counter = 0; 59 foreach (DoubleValue data in (param.ActualValue as IEnumerable<DoubleValue>)) { 60 AddValue(table, data.Value, param.Name + counter.ToString(), param.Description); 61 counter++; 77 62 } 78 63 } else { 79 DataRow row; 80 table.Rows.TryGetValue(param.Name, out row); 81 if (row == null) { 82 row = new DataRow(param.Name, param.Description); 83 row.Values.Add(double.NaN); 84 table.Rows.Add(row); 85 } else { 86 row.Values.Add(double.NaN); 87 } 64 AddValue(table, double.NaN, param.Name, param.Description); 88 65 } 89 66 } 90 67 return base.Apply(); 91 68 } 69 70 private void AddValue(DataTable table, double data, string name, string description) { 71 DataRow row; 72 table.Rows.TryGetValue(name, out row); 73 if (row == null) { 74 row = new DataRow(name, description); 75 row.Values.Add(data); 76 table.Rows.Add(row); 77 } else { 78 row.Values.Add(data); 79 } 80 } 92 81 } 93 82 }
Note: See TracChangeset
for help on using the changeset viewer.