Changeset 15217 for stable/HeuristicLab.Encodings.RealVectorEncoding
- Timestamp:
- 07/12/17 21:02:01 (7 years ago)
- Location:
- stable
- Files:
-
- 4 edited
- 3 copied
Legend:
- Unmodified
- Added
- Removed
-
stable
- Property svn:mergeinfo changed
/trunk/sources merged: 14412,14475-14476,14659-14660,14663,14912,15050,15067,15069,15079,15162,15166,15172-15173
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Encodings.RealVectorEncoding
- Property svn:mergeinfo changed
/trunk/sources/HeuristicLab.Encodings.RealVectorEncoding merged: 14659-14660,15067,15162
- Property svn:mergeinfo changed
-
stable/HeuristicLab.Encodings.RealVectorEncoding/3.3/HeuristicLab.Encodings.RealVectorEncoding-3.3.csproj
r12005 r15217 137 137 <Compile Include="Properties\AssemblyInfo.cs" /> 138 138 <Compile Include="RealVectorEncoding.cs" /> 139 <Compile Include="RealVectorEqualityComparer.cs" /> 139 140 <Compile Include="RealVectorManipulator.cs" /> 140 141 </ItemGroup> … … 182 183 <Compile Include="ReflectiveBoundsChecker.cs" /> 183 184 <Compile Include="ShakingOperators\RealVectorShakingOperator.cs" /> 185 <Compile Include="SimilarityCalculators\EuclideanSimilarityCalculator.cs" /> 186 <Compile Include="SimilarityCalculators\HammingSimilarityCalculator.cs" /> 184 187 <Compile Include="StrategyParameters\StdDevStrategyVectorCreator.cs" /> 185 188 <Compile Include="StrategyParameters\StdDevStrategyVectorCrossover.cs" /> -
stable/HeuristicLab.Encodings.RealVectorEncoding/3.3/RealVectorEqualityComparer.cs
r14660 r15217 20 20 #endregion 21 21 22 using System; 22 23 using System.Collections.Generic; 24 using HeuristicLab.PluginInfrastructure; 23 25 24 26 namespace HeuristicLab.Encodings.RealVectorEncoding { 27 [NonDiscoverableType] 25 28 public class RealVectorEqualityComparer : EqualityComparer<RealVector> { 26 29 public override bool Equals(RealVector x, RealVector y) { 27 if ( x == null && y == null) return true;30 if (ReferenceEquals(x, y)) return true; 28 31 if (x == null || y == null) return false; 29 32 if (x.Length != y.Length) return false; 30 33 for (var i = 0; i < x.Length; i++) 31 if (x[i] == y[i]) return false;34 if (x[i] != y[i]) return false; 32 35 return true; 33 36 } 34 37 35 38 public override int GetHashCode(RealVector obj) { 39 if (obj == null) throw new ArgumentNullException("obj", "RealVectorEqualityComparer: Cannot compute hash value of null."); 36 40 unchecked { 37 41 int hash = 17; -
stable/HeuristicLab.Encodings.RealVectorEncoding/3.3/SimilarityCalculators/HammingSimilarityCalculator.cs
r14659 r15217 45 45 public static double CalculateSimilarity(RealVector left, RealVector right) { 46 46 if (left == null || right == null) 47 throw new ArgumentException("Cannot calculate similarity because one or both of the provided s copes is null.");47 throw new ArgumentException("Cannot calculate similarity because one or both of the provided solutions is null."); 48 48 if (left.Length != right.Length) 49 49 throw new ArgumentException("Cannot calculate similarity because the provided solutions have different lengths."); 50 if (left == right) return 1.0; 50 if (left.Length == 0) 51 throw new ArgumentException("Cannot calculate similarity because solutions are of length 0."); 52 if (ReferenceEquals(left, right)) return 1.0; 51 53 52 54 double similarity = 0.0;
Note: See TracChangeset
for help on using the changeset viewer.