next up previous 196
Next: PDA_I1MACH - Integer machine dependent constants
Up: User-callable routines
Previous: PDA_DRFFTI - Initialize PDA_DRFFTF and PDA_DRFFTB.


PDA_DSORT - Sort array and optionally make same interchanges in auxiliary array.

Origin
SLATEC / CAMSUN
Implementation Status:
The routine will now return an error status as supplied by PDA_XERMSG.

      SUBROUTINE PDA_DSORT (DX, DY, N, KFLAG, STATUS)


***BEGIN PROLOGUE  PDA_DSORT
***PURPOSE  Sort an array and optionally make the same interchanges in
            an auxiliary array.  The array may be sorted in increasing
            or decreasing order.  A slightly modified QUICKSORT
            algorithm is used.
***LIBRARY   SLATEC
***CATEGORY  N6A2B
***TYPE      DOUBLE PRECISION (SSORT-S, PDA_DSORT-D, ISORT-I)
***KEYWORDS  SINGLETON QUICKSORT, SORT, SORTING
***AUTHOR  Jones, R. E., (SNLA)
           Wisniewski, J. A., (SNLA)
***DESCRIPTION

   PDA_DSORT sorts array DX and optionally makes the same interchanges in
   array DY.  The array DX may be sorted in increasing order or
   decreasing order.  A slightly modified quicksort algorithm is used.

   Description of Parameters
      DX - array of values to be sorted   (usually abscissas)
      DY - array to be (optionally) carried along
      N  - number of values in array DX to be sorted
      KFLAG - control parameter
            =  2  means sort DX in increasing order and carry DY along.
            =  1  means sort DX in increasing order (ignoring DY)
            = -1  means sort DX in decreasing order (ignoring DY)
            = -2  means sort DX in decreasing order and carry DY along.
      STATUS - Returned error status.
               The status must be zero on entry. This
               routine does not check the status on entry.

***REFERENCES  R. C. Singleton, Algorithm 347, An efficient algorithm
                 for sorting with minimal storage, Communications of
                 the ACM, 12, 3 (1969), pp. 185-187.
***ROUTINES CALLED  PDA_XERMSG
***REVISION HISTORY  (YYMMDD)
   761101  DATE WRITTEN
   761118  Modified to use the Singleton quicksort algorithm.  (JAW)
   890531  Changed all specific intrinsics to generic.  (WRB)
   890831  Modified array declarations.  (WRB)
   891009  Removed unreferenced statement labels.  (WRB)
   891024  Changed category.  (WRB)
   891024  REVISION DATE from Version 3.2
   891214  Prologue converted to Version 4.0 format.  (BAB)
   900315  CALLs to XERROR changed to CALLs to PDA_XERMSG.  (THJ)
   901012  Declared all variables; changed X,Y to DX,DY; changed
           code to parallel SSORT. (M. McClain)
   920501  Reformatted the REFERENCES section.  (DWL, WRB)
   920519  Clarified error messages.  (DWL)
   920801  Declarations section rebuilt and code restructured to use
           IF-THEN-ELSE-ENDIF.  (RWC, WRB)
   950403  Implement status.  (HME)
***END PROLOGUE  PDA_DSORT



next up previous 196
Next: PDA_I1MACH - Integer machine dependent constants
Up: User-callable routines
Previous: PDA_DRFFTI - Initialize PDA_DRFFTF and PDA_DRFFTB.

PDA [1ex
Starlink User Note 194
H. Meyerdierks, D. Berry, P. W. Draper, G. Privett, M. Currie
12th October 2005
E-mail:ussc@star.rl.ac.uk

Copyright © 2009 Science and Technology Facilities Council