[ILNumerics Core Module]
Namespace: ILNumerics.Core.Misc
Assembly: ILNumerics.Core (in ILNumerics.Core.dll) Version: 5.5.0.0 (5.5.7503.3146)
Parameters
- vec
- Type: SystemSByte*
data array, 1dim, replaced on output with sorted values - lo
- Type: SystemInt64
lowest index of sorting range - hi
- Type: SystemInt64
highest index of sorting range - inc
- Type: SystemInt64
spacing between elements (dimension specifier)
Quick sort algorithm is used for ranges of minimum lengths specified by MinimumQuicksortLength and above. Below that length, a simple insertion sort is used instead.
The algorithm implements a non-recursive quicksort variant. Therefore a small amount of memory is needed to perform the sorting. That 'stack' memory is preserved from the ILMemoryPool. The size is determined by the value of MaxSafeQuicksortRecursionDepth.
Handling of NaN values (for double,float,complex or fcomplex arrays element datatypes only): if the input array contains any NaN values, those elements will be sorted to the end of the array on output.
[ILNumerics Core Module]