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

shell (n, comp, exch)
	int (*comp)(), (*exch)();
/* SORTS UP.  IF THERE ARE NO EXCHANGES (IEX=0) ON A SWEEP
  THE COMPARISON GAP (IGAP) IS HALVED FOR THE NEXT SWEEP */
{
	int igap, iplusg, iex, i, imax;
	igap=n;
while (igap > 1)
	{
	igap /= 2;
	imax = n-igap;
	do
		{
		iex=0;
		for(i=0; i<imax; i++)
			{
			iplusg = i + igap;
			if ((*comp) (i, iplusg) ) continue;
			(*exch) (i, iplusg);
			iex=1;
			}
		} while (iex>0);
	}
}

unix.superglobalmegacorp.com

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