- Timestamp:
- 06/12/14 13:26:18 (10 years ago)
- Location:
- branches/DataPreprocessing
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/DataPreprocessing
- Property svn:ignore
-
old new 8 8 FxCopResults.txt 9 9 Google.ProtocolBuffers-0.9.1.dll 10 Google.ProtocolBuffers-2.4.1.473.dll 10 11 HeuristicLab 3.3.5.1.ReSharper.user 11 12 HeuristicLab 3.3.6.0.ReSharper.user 12 13 HeuristicLab.4.5.resharper.user 13 14 HeuristicLab.ExtLibs.6.0.ReSharper.user 15 HeuristicLab.Scripting.Development 14 16 HeuristicLab.resharper.user 15 17 ProtoGen.exe … … 17 19 _ReSharper.HeuristicLab 18 20 _ReSharper.HeuristicLab 3.3 21 _ReSharper.HeuristicLab 3.3 Tests 19 22 _ReSharper.HeuristicLab.ExtLibs 20 23 bin 21 24 protoc.exe 22 _ReSharper.HeuristicLab 3.3 Tests23 Google.ProtocolBuffers-2.4.1.473.dll
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/DataPreprocessing/HeuristicLab.Common/3.3/ArrayExtensions.cs
r10538 r11009 26 26 namespace HeuristicLab.Common { 27 27 public static class ArrayExtensions { 28 public static void StableSort<T>(this T[] values) { 29 values.StableSort(0, values.Length); 28 29 public static void StableSort<T>(this T[] values, Comparison<T> comparison) { 30 values.StableSort(new StableSortComparer<T>(comparison)); 30 31 } 31 32 32 public static void StableSort<T>(this T[] values, int index, int count) {33 var sorted Array = values.Skip(index).Take(count).OrderBy(x => x).ToArray();34 Array.ConstrainedCopy(sorted Array, 0, values, index, count);33 public static void StableSort<T>(this T[] values, IComparer<T> comparer = null) { 34 var sorted = values.OrderBy(x => x, comparer ?? Comparer<T>.Default).ToArray(); 35 Array.ConstrainedCopy(sorted, 0, values, 0, values.Length); 35 36 } 36 37 37 public static void StableSort<T>(this T[] values, IComparer<T> comparer) {38 values.StableSort( 0, values.Length, comparer);38 public static void StableSort<T>(this T[] values, int index, int length, Comparison<T> comparison) { 39 values.StableSort(index, length, new StableSortComparer<T>(comparison)); 39 40 } 40 41 41 public static void StableSort<T>(this T[] values, int index, int count, IComparer<T> comparer) { 42 var sortedArray = values.Skip(index).Take(count).OrderBy(x => x, comparer).ToArray(); 43 Array.ConstrainedCopy(sortedArray, 0, values, index, count); 42 public static void StableSort<T>(this T[] values, int index, int length, IComparer<T> comparer = null) { 43 if (index < 0) throw new ArgumentOutOfRangeException("index is less than zero."); 44 if (length < 0) throw new ArgumentOutOfRangeException("length is less than zero."); 45 if (index + length > values.Length) throw new ArgumentException("index and length do not specify a valid range in the array."); 46 var sortedArray = values.Skip(index).Take(length).OrderBy(x => x, comparer ?? Comparer<T>.Default).ToArray(); 47 Array.ConstrainedCopy(sortedArray, 0, values, index, length); 44 48 } 45 49 46 public static void StableSort<T>(this T[] values, Comparison<T> comparison) { 47 values.StableSort(0, values.Length, comparison); 48 } 49 50 public static void StableSort<T>(this T[] values, int index, int count, Comparison<T> comparison) { 51 var sortedArray = values.Skip(index).Take(count).OrderBy(x => x, new StableSortComparer<T>(comparison)).ToArray(); 52 Array.ConstrainedCopy(sortedArray, 0, values, index, count); 53 } 54 55 public class StableSortComparer<T> : IComparer<T> { 50 private class StableSortComparer<T> : IComparer<T> { 56 51 public StableSortComparer(Comparison<T> comparison) { 57 52 this.comparison = comparison;
Note: See TracChangeset
for help on using the changeset viewer.