?lasrt2

Sorts numbers in increasing or decreasing order.

Syntax

call slasrt2(id, n, d, key, info)

call dlasrt2(id, n, d, key, info)

Include Files

The C interfaces are specified in the mkl_scalapack.h include file.

Description

The ?lasrt2 routine is modified LAPACK routine ?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. Dimension of STACK limits n to about 232.

Input Parameters

id

CHARACTER*1.

= 'I': sort d in increasing order;

= 'D': sort d in decreasing order.

n

INTEGER. The length of the array d.

d

REAL for slasrt2

DOUBLE PRECISION for dlasrt2.

Array, DIMENSION (n).

On entry, the array to be sorted.

key

INTEGER.

Array, DIMENSION (n).

On entry, key contains a key to each of the entries in d().

Typically, key(i) = i for all i .

Output Parameters

D

On exit, d has been sorted into increasing order

(d(1) ... d(n) ) or into decreasing order

(d(1) ... d(n) ), depending on id.

info

INTEGER.

= 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 for all i upon input, then d_out(i) = d_in(key(i)).


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.