Subroutine */
| 31330 | } /* dlasr_ */ |
| 31331 | |
| 31332 | /* Subroutine */ int dlasrt_(char *id, integer *n, doublereal *d__, integer * |
| 31333 | info) |
| 31334 | { |
| 31335 | /* System generated locals */ |
| 31336 | integer i__1, i__2; |
| 31337 | |
| 31338 | /* Local variables */ |
| 31339 | static integer i__, j; |
| 31340 | static doublereal d1, d2, d3; |
| 31341 | static integer dir; |
| 31342 | static doublereal tmp; |
| 31343 | static integer endd; |
| 31344 | extern logical lsame_(char *, char *); |
| 31345 | static integer stack[64] /* was [2][32] */; |
| 31346 | static doublereal dmnmx; |
| 31347 | static integer start; |
| 31348 | extern /* Subroutine */ int xerbla_(char *, integer *); |
| 31349 | static integer stkpnt; |
| 31350 | |
| 31351 | |
| 31352 | /* |
| 31353 | -- LAPACK routine (version 3.2) -- |
| 31354 | -- LAPACK is a software package provided by Univ. of Tennessee, -- |
| 31355 | -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
| 31356 | November 2006 |
| 31357 | |
| 31358 | |
| 31359 | Purpose |
| 31360 | ======= |
| 31361 | |
| 31362 | Sort the numbers in D in increasing order (if ID = 'I') or |
| 31363 | in decreasing order (if ID = 'D' ). |
| 31364 | |
| 31365 | Use Quick Sort, reverting to Insertion sort on arrays of |
| 31366 | size <= 20. Dimension of STACK limits N to about 2**32. |
| 31367 | |
| 31368 | Arguments |
| 31369 | ========= |
| 31370 | |
| 31371 | ID (input) CHARACTER*1 |
| 31372 | = 'I': sort D in increasing order; |
| 31373 | = 'D': sort D in decreasing order. |
| 31374 | |
| 31375 | N (input) INTEGER |
| 31376 | The length of the array D. |
| 31377 | |
| 31378 | D (input/output) DOUBLE PRECISION array, dimension (N) |
| 31379 | On entry, the array to be sorted. |
| 31380 | On exit, D has been sorted into increasing order |
| 31381 | (D(1) <= ... <= D(N) ) or into decreasing order |
| 31382 | (D(1) >= ... >= D(N) ), depending on ID. |
| 31383 | |
| 31384 | INFO (output) INTEGER |
| 31385 | = 0: successful exit |
| 31386 | < 0: if INFO = -i, the i-th argument had an illegal value |
| 31387 | |
| 31388 | ===================================================================== |
| 31389 |