slasrt


NAME

slasrt - the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' )


SYNOPSIS

  SUBROUTINE SLASRT( ID, N, D, INFO)
  CHARACTER * 1 ID
  INTEGER N, INFO
  REAL D(*)
 
  SUBROUTINE SLASRT_64( ID, N, D, INFO)
  CHARACTER * 1 ID
  INTEGER*8 N, INFO
  REAL D(*)
 

F95 INTERFACE

  SUBROUTINE LASRT( ID, [N], D, [INFO])
  CHARACTER(LEN=1) :: ID
  INTEGER :: N, INFO
  REAL, DIMENSION(:) :: D
 
  SUBROUTINE LASRT_64( ID, [N], D, [INFO])
  CHARACTER(LEN=1) :: ID
  INTEGER(8) :: N, INFO
  REAL, DIMENSION(:) :: D
 

C INTERFACE

#include <sunperf.h>

void slasrt(char id, int n, float *d, int *info);

void slasrt_64(char id, long n, float *d, long *info);


PURPOSE

slasrt the numbers in D in increasing order (if ID = 'I') or in decreasing order (if ID = 'D' ).

Use Quick Sort, reverting to Insertion sort on arrays of

size <= 20. Dimension of STACK limits N to about 2**32.


ARGUMENTS

* ID (input)
* N (input)
The length of the array D.

* D (input/output)
On entry, the array to be sorted. 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 (output)