File:  [Research Unix] / researchv9 / jerq / src / lib / j / sqrt.c
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Tue Apr 24 17:21:59 2018 UTC (8 years, 1 month ago) by root
Branches: belllabs, MAIN
CVS tags: researchv9-SUN3_old, researchv9-SUN3, HEAD
researchv9-SUN3(old)

#define MAXROOT 0xb504
sqrt(x)
	register long x;
{
	register long high=MAXROOT;
	register long low=0;
	register long current=MAXROOT/2;
	if(x<=0)
		return 0;
	if(x>=MAXROOT*MAXROOT)
		return(MAXROOT);
	while(high>low+1){
		if(current*current==x)
			return (current);
		if(current*current>x)
			high=current;
		else
			low=current;
		current=(high+low)>>1;
	}
	return(current);
}

unix.superglobalmegacorp.com

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