- Timestamp:
- 07/06/17 14:42:50 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs ¶
r15067 r15162 28 28 public class BinaryVectorEqualityComparer : EqualityComparer<BinaryVector> { 29 29 public override bool Equals(BinaryVector x, BinaryVector y) { 30 if ( x == null && y == null) return true;30 if (ReferenceEquals(x, y)) return true; 31 31 if (x == null || y == null) return false; 32 if (ReferenceEquals(x, y)) return true;33 32 if (x.Length != y.Length) return false; 34 33 for (var i = 0; i < x.Length; i++) … … 36 35 return true; 37 36 } 37 38 38 public override int GetHashCode(BinaryVector obj) { 39 39 if (obj == null) throw new ArgumentNullException("obj", "BinaryVectorEqualityComparer: Cannot compute hash value of null."); 40 40 unchecked { 41 41 int hash = 17; 42 foreach (var bit in obj) {42 foreach (var bit in obj) 43 43 hash = hash * 29 + (bit ? 1231 : 1237); 44 }45 44 return hash; 46 45 }
Note: See TracChangeset
for help on using the changeset viewer.