qs2i1d.f
SUBROUTINE QS2I1D (IA, JA, A, N, KFLAG)
C***BEGIN PROLOGUE QS2I1D
....
....
Warning: this routine is not intended to be user-callable.
....
....
C***SUBSIDIARY
C***PURPOSE Sort an integer array, moving an integer and DP array.
C This routine sorts the integer array IA and makes the same
C interchanges in the integer array JA and the double pre-
C cision array A. The array IA may be sorted in increasing
C order or decreasing order. A slightly modified QUICKSORT
C algorithm is used.
C***LIBRARY SLATEC (SLAP)
C***CATEGORY N6A2A
C***TYPE DOUBLE PRECISION (QS2I1R-S, QS2I1D-D)
C***KEYWORDS SINGLETON QUICKSORT, SLAP, SORT, SORTING
C***AUTHOR Jones, R. E., (SNLA)
C Kahaner, D. K., (NBS)
C Seager, M. K., (LLNL) seager@llnl.gov
C Wisniewski, J. A., (SNLA)
C***DESCRIPTION
C Written by Rondall E Jones
C Modified by John A. Wisniewski to use the Singleton QUICKSORT
C algorithm. date 18 November 1976.
C
C Further modified by David K. Kahaner
C National Bureau of Standards
C August, 1981
C
C Even further modification made to bring the code up to the
C Fortran 77 level and make it more readable and to carry
C along one integer array and one double precision array during
C the sort by
C Mark K. Seager
C Lawrence Livermore National Laboratory
C November, 1987
C This routine was adapted from the ISORT routine.
C
C ABSTRACT
C This routine sorts an integer array IA and makes the same
C interchanges in the integer array JA and the double precision
C array A.
C The array IA may be sorted in increasing order or decreasing
C order. A slightly modified quicksort algorithm is used.
C
C DESCRIPTION OF PARAMETERS
C IA - Integer array of values to be sorted.
C JA - Integer array to be carried along.
C A - Double Precision array to be carried along.
C N - Number of values in integer array IA to be sorted.
C KFLAG - Control parameter
C = 1 means sort IA in INCREASING order.
C =-1 means sort IA in DECREASING order.
C
C***SEE ALSO DS2Y
C***REFERENCES R. C. Singleton, Algorithm 347, An Efficient Algorithm
C for Sorting With Minimal Storage, Communications ACM
C 12:3 (1969), pp.185-7.
C***ROUTINES CALLED XERMSG
C***REVISION HISTORY (YYMMDD)
C 761118 DATE WRITTEN
C 890125 Previous REVISION DATE
C 890915 Made changes requested at July 1989 CML Meeting. (MKS)
C 890922 Numerous changes to prologue to make closer to SLATEC
C standard. (FNF)
C 890929 Numerous changes to reduce SP/DP differences. (FNF)
C 900805 Changed XERROR calls to calls to XERMSG. (RWC)
C 910411 Prologue converted to Version 4.0 format. (BAB)
C 910506 Made subsidiary to DS2Y and corrected reference. (FNF)
C 920511 Added complete declaration section. (WRB)
C 920929 Corrected format of reference. (FNF)
C 921012 Corrected all f.p. constants to double precision. (FNF)
C***END PROLOGUE QS2I1D