source:
branches/MemPRAlgorithm/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/BinaryVectorEqualityComparer.cs
@
14691
Last change on this file since 14691 was 14550, checked in by abeham, 8 years ago | |
---|---|
File size: 1.5 KB |
Rev | Line | |
---|---|---|
[14550] | 1 | #region License Information |
2 | /* HeuristicLab | |
3 | * Copyright (C) 2002-2017 Heuristic and Evolutionary Algorithms Laboratory (HEAL) | |
4 | * | |
5 | * This file is part of HeuristicLab. | |
6 | * | |
7 | * HeuristicLab is free software: you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License as published by | |
9 | * the Free Software Foundation, either version 3 of the License, or | |
10 | * (at your option) any later version. | |
11 | * | |
12 | * HeuristicLab is distributed in the hope that it will be useful, | |
13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
15 | * GNU General Public License for more details. | |
16 | * | |
17 | * You should have received a copy of the GNU General Public License | |
18 | * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. | |
19 | */ | |
20 | #endregion | |
21 | ||
22 | using System; | |
23 | using System.Collections.Generic; | |
24 | using System.Linq; | |
25 | using System.Text; | |
26 | using System.Threading.Tasks; | |
27 | ||
28 | namespace HeuristicLab.Encodings.BinaryVectorEncoding { | |
29 | public class BinaryVectorEqualityComparer : EqualityComparer<BinaryVector> { | |
30 | public override bool Equals(BinaryVector first, BinaryVector second) { | |
31 | return first.SequenceEqual(second); | |
32 | } | |
33 | public override int GetHashCode(BinaryVector obj) { | |
34 | unchecked { | |
35 | int hash = 17; | |
36 | foreach (var bit in obj) { | |
37 | hash = hash * 29 + (bit ? 1231 : 1237); | |
38 | } | |
39 | return hash; | |
40 | } | |
41 | } | |
42 | } | |
43 | } |
Note: See TracBrowser
for help on using the repository browser.