File:  [Research Unix] / researchv10no / cmd / pfort / SSORT.f
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:35 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv10, HEAD
researchv10 Norman

      SUBROUTINE SSORT(EX, X, LX, Q, L, OFFSET)
      INTEGER EX, X(LX), Q(L), OFFSET
      EXTERNAL EX
C
C     ENTRIES SPACED 1 APART IN HASH TABLE
C     EX IS EXCHANGE ROUTINE--RETURNS<0 IF EXCHANGES ITEMS
C     RETURNS >=0 IF DOESN'T
C     L  IS NUMBER OF THINGS TO BE SORTED,  SPACING IS 1 HERE
C     START SHELL SORT
C
      M = 1
   10 IF (M.GE.L) GO TO 20
      M = M*2
      GO TO 10
   20 M = M/2
      IF (M.LT.1) RETURN
      K = L - M
C
C      IN PASS1 ARE SORTING SYMBOL TABLE
C      IN PASS 2 ARE SORTING LATTICE
C     OR COMMON BLOCK DEFS
C
      DO 50 J=1,K
        I = J
   30   IF (EX(I+M,I,X,LX,Q,L,OFFSET)) 40, 50, 50
C
C     BUBBLE SORT W/I SUBLIST
C
   40   I = I - M
        IF (I.GE.1) GO TO 30
   50 CONTINUE
      GO TO 20
      END

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.