# dqpsrt.f

          SUBROUTINE DQPSRT (LIMIT, LAST, MAXERR, ERMAX, ELIST, IORD, NRMAX)
    C***BEGIN PROLOGUE  DQPSRT
    ....
    ....
    Warning:   this routine is not intended to be user-callable.
    ....
    ....
    C***SUBSIDIARY
    C***PURPOSE  This routine maintains the descending ordering in the
    C            list of the local error estimated resulting from the
    C            interval subdivision process. At each call two error
    C            estimates are inserted using the sequential search
    C            method, top-down for the largest error estimate and
    C            bottom-up for the smallest error estimate.
    C***LIBRARY   SLATEC
    C***TYPE      DOUBLE PRECISION (QPSRT-S, DQPSRT-D)
    C***KEYWORDS  SEQUENTIAL SORTING
    C***AUTHOR  Piessens, Robert
    C             Applied Mathematics and Programming Division
    C             K. U. Leuven
    C           de Doncker, Elise
    C             Applied Mathematics and Programming Division
    C             K. U. Leuven
    C***DESCRIPTION
    C
    C           Ordering routine
    C           Standard fortran subroutine
    C           Double precision version
    C
    C           PARAMETERS (MEANING AT OUTPUT)
    C              LIMIT  - Integer
    C                       Maximum number of error estimates the list
    C                       can contain
    C
    C              LAST   - Integer
    C                       Number of error estimates currently in the list
    C
    C              MAXERR - Integer
    C                       MAXERR points to the NRMAX-th largest error
    C                       estimate currently in the list
    C
    C              ERMAX  - Double precision
    C                       NRMAX-th largest error estimate
    C                       ERMAX = ELIST(MAXERR)
    C
    C              ELIST  - Double precision
    C                       Vector of dimension LAST containing
    C                       the error estimates
    C
    C              IORD   - Integer
    C                       Vector of dimension LAST, the first K elements
    C                       of which contain pointers to the error
    C                       estimates, such that
    C                       ELIST(IORD(1)),...,  ELIST(IORD(K))
    C                       form a decreasing sequence, with
    C                       K = LAST if LAST.LE.(LIMIT/2+2), and
    C                       K = LIMIT+1-LAST otherwise
    C
    C              NRMAX  - Integer
    C                       MAXERR = IORD(NRMAX)
    C
    C***SEE ALSO  DQAGE, DQAGIE, DQAGPE, DQAWSE
    C***ROUTINES CALLED  (NONE)
    C***REVISION HISTORY  (YYMMDD)
    C   800101  DATE WRITTEN
    C   890831  Modified array declarations.  (WRB)
    C   890831  REVISION DATE from Version 3.2
    C   891214  Prologue converted to Version 4.0 format.  (BAB)
    C   900328  Added TYPE section.  (WRB)
    C***END PROLOGUE  DQPSRT