Currently vDSP_vsortD, which is supposed to sort a vector, can only sort it if it's size n is 0 < n < Int64.max, instead of the API's required 0 < n < UInt64.max due to not being able to use UInt as pointer index. We need to work around this.
Also, we're currently using LAPACK.dlasrt_ to sort it if the size n is 0 < n < Int32.max, and uses a custom QuickSort implementation for Int32.max <= n < Int64.max. Once #1 is solved we should switch to using this as default for performance reasons
Currently
vDSP_vsortD, which is supposed to sort a vector, can only sort it if it's sizenis0 < n < Int64.max, instead of the API's required0 < n < UInt64.maxdue to not being able to useUIntas pointer index. We need to work around this.Also, we're currently using
LAPACK.dlasrt_to sort it if the sizenis0 < n < Int32.max, and uses a custom QuickSort implementation forInt32.max <= n < Int64.max. Once #1 is solved we should switch to using this as default for performance reasons