Annotation of researchv10no/cmd/ap/apkeys/shell.c, revision 1.1

1.1     ! root        1: shell (n, comp, exch)
        !             2:        int (*comp)(), (*exch)();
        !             3: /* SORTS UP.  IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP
        !             4:   THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP */
        !             5: {
        !             6:        int igap, iplusg, iex, i, imax;
        !             7:        igap=n;
        !             8: while (igap > 1)
        !             9:        {
        !            10:        igap /= 2;
        !            11:        imax = n-igap;
        !            12:        do
        !            13:                {
        !            14:                iex=0;
        !            15:                for(i=0; i<imax; i++)
        !            16:                        {
        !            17:                        iplusg = i + igap;
        !            18:                        if ((*comp) (i, iplusg) ) continue;
        !            19:                        (*exch) (i, iplusg);
        !            20:                        iex=1;
        !            21:                        }
        !            22:                } while (iex>0);
        !            23:        }
        !            24: }

unix.superglobalmegacorp.com

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