Changeset 12582 for branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/BinaryVectorComparers/AverageBitBinaryVectorComparer.cs
- Timestamp:
- 07/03/15 14:54:28 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/FitnessLandscapeAnalysis/HeuristicLab.Problems.NK/BinaryVectorComparers/AverageBitBinaryVectorComparer.cs
r12566 r12582 27 27 28 28 namespace HeuristicLab.Problems.NK { 29 30 29 [Item("Average Bit Binary Vector Comparer", "Compares two binary vectors by their average positive bit location")] 31 30 [StorableClass] 32 public sealed class AverageBitBinaryVectorComparer : BinaryVectorComparer { 33 31 public sealed class AverageBitBinaryVectorComparer : Item, IBinaryVectorComparer { 34 32 [StorableConstructor] 35 33 private AverageBitBinaryVectorComparer(bool deserializing) : base(deserializing) { } 36 34 private AverageBitBinaryVectorComparer(AverageBitBinaryVectorComparer original, Cloner cloner) 37 : base(original, cloner) { 38 } 35 : base(original, cloner) { } 39 36 public AverageBitBinaryVectorComparer() { } 40 37 public override IDeepCloneable Clone(Cloner cloner) { … … 42 39 } 43 40 44 p ublicstatic double AverageBit(BinaryVector x) {41 private static double AverageBit(BinaryVector x) { 45 42 return x.Select((b, i) => new { b, i }).Where(v => v.b).Average(v => v.i); 46 43 } 47 44 48 public overrideint Compare(BinaryVector x, BinaryVector y) {45 public int Compare(BinaryVector x, BinaryVector y) { 49 46 return (AverageBit(x) - AverageBit(y)).CompareTo(0); 50 47 }
Note: See TracChangeset
for help on using the changeset viewer.