Visible to Intel only — GUID: GUID-E0746B57-BCE4-4524-BAFB-8434D011EF4C
Visible to Intel only — GUID: GUID-E0746B57-BCE4-4524-BAFB-8434D011EF4C
?lasrt2
Sorts numbers in increasing or decreasing order.
Syntax
void slasrt2 (char *id , MKL_INT *n , float *d , MKL_INT *key , MKL_INT *info );
void dlasrt2 (char *id , MKL_INT *n , double *d , MKL_INT *key , MKL_INT *info );
Include Files
- mkl_scalapack.h
Description
The ?lasrt2function is modified LAPACK function ?lasrt, which sorts the numbers in d in increasing order (if id = 'I') or in decreasing order (if id = 'D' ). It uses Quick Sort, reverting to Insertion Sort on arrays of size ≤ 20. The size of STACK limits n to about 232.
Input Parameters
- id
-
= 'I': sort d in increasing order;
= 'D': sort d in decreasing order.
- n
-
The length of the array d.
- d
-
Array of size n.
On entry, the array to be sorted.
- key
-
Array of size n.
On entry, key contains a key to each of the entries in d.
Typically, key[i]= i+1 for all i = 0, ..., n-1.
Output Parameters
- d
-
On exit, d has been sorted into increasing order
(d[0] ≤ ... ≤ d[n - 1] )
or into decreasing order
(d[0] ≥ ... ≥ d[n - 1] ),
depending on id.
- info
-
= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value.
- key
-
On exit, key is permuted in exactly the same manner as d was permuted from input to output. Therefore, if key[i] = i+1 for all i =0, ..., n-1 on input, d[i] on output equals d[key[i]-1] on input.