Changeset 6511 for trunk/sources/HeuristicLab.Selection
- Timestamp:
- 07/05/11 00:04:04 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Selection/3.3/GeneralizedRankSelector.cs
r6510 r6511 63 63 double pressure = PressureParameter.ActualValue.Value; 64 64 65 var ordered = qualities.Select((x, index) => new IndexValuePair(index, x.Value)).OrderBy(x => x.Value).ToList();65 var ordered = qualities.Select((x, index) => new KeyValuePair<int, double>(index, x.Value)).OrderBy(x => x.Value).ToList(); 66 66 if (maximization) ordered.Reverse(); 67 67 … … 72 72 73 73 if (copy) { 74 selected[i] = (IScope)scopes[ordered[selIdx]. Index].Clone();74 selected[i] = (IScope)scopes[ordered[selIdx].Key].Clone(); 75 75 } else { 76 int idx = ordered[selIdx]. Index;76 int idx = ordered[selIdx].Key; 77 77 selected[i] = scopes[idx]; 78 78 scopes.RemoveAt(idx); … … 80 80 for (int j = 0; j < ordered.Count; j++) { 81 81 var o = ordered[j]; 82 if (o. Index > idx) ordered[j] = o.DecrementIndex();82 if (o.Key > idx) ordered[j] = new KeyValuePair<int, double>(o.Key - 1, o.Value); 83 83 } 84 84 m--; … … 87 87 return selected; 88 88 } 89 90 private struct IndexValuePair {91 private int index;92 internal int Index { get { return index; } }93 private double value;94 internal double Value { get { return value; } }95 96 internal IndexValuePair(int index, double value) {97 this.index = index;98 this.value = value;99 }100 101 internal IndexValuePair DecrementIndex() {102 this.index--;103 return this;104 }105 }106 89 } 107 90 }
Note: See TracChangeset
for help on using the changeset viewer.