Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ QuickSortIndicesInPlace()

void System.Linq.Parallel.SortHelper< TInputOutput, TKey >.QuickSortIndicesInPlace ( GrowingArray< TKey > keys,
List< TInputOutput > values,
OrdinalIndexState ordinalIndexState )
inlineprivate

Definition at line 146 of file SortHelper.cs.

147 {
148 int[] array = new int[values.Count];
149 for (int i = 0; i < array.Length; i++)
150 {
151 array[i] = i;
152 }
153 if (array.Length > 1 && ordinalIndexState.IsWorseThan(OrdinalIndexState.Increasing))
154 {
156 }
157 if (_partitionCount == 1)
158 {
159 TInputOutput[] array2 = new TInputOutput[values.Count];
160 for (int j = 0; j < array.Length; j++)
161 {
162 array2[j] = values[array[j]];
163 }
165 }
166 else
167 {
172 }
173 }
void CopyTo(KeyValuePair< TKey, TValue >[] array, int index)
readonly TInputOutput[][] _sharedValues
Definition SortHelper.cs:24
readonly int[][] _sharedIndices
Definition SortHelper.cs:20
void QuickSort(int left, int right, TKey[] keys, int[] indices, CancellationToken cancelToken)
readonly GrowingArray< TKey >[] _sharedKeys
Definition SortHelper.cs:22
readonly QueryTaskGroupState _groupState
Definition SortHelper.cs:18

References System.Linq.Parallel.SortHelper< TInputOutput, TKey >._groupState, System.Linq.Parallel.SortHelper< TInputOutput, TKey >._partitionCount, System.Linq.Parallel.SortHelper< TInputOutput, TKey >._partitionIndex, System.Linq.Parallel.SortHelper< TInputOutput, TKey >._sharedIndices, System.Linq.Parallel.SortHelper< TInputOutput, TKey >._sharedKeys, System.Linq.Parallel.SortHelper< TInputOutput, TKey >._sharedValues, System.array, System.Linq.Parallel.QueryTaskGroupState.CancellationState, System.Collections.Generic.Dictionary< TKey, TValue >.CopyTo(), System.keys, System.Linq.Parallel.CancellationState.MergedCancellationToken, System.Linq.Parallel.SortHelper< TInputOutput, TKey >.QuickSort(), and System.values.

Referenced by System.Linq.Parallel.SortHelper< TInputOutput, TKey >.Sort().