# ?lasrt

Sorts numbers in increasing or decreasing order.

## Syntax

call slasrt( id, n, d, info )

call dlasrt( id, n, d, info )

## Description

The routine ?lasrt 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 slasrt

  DOUBLE PRECISION for dlasrt.

  On entry, the array to be sorted.

## 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.

Parent topic: Auxiliary Routines