[net.lang] Division by multiplication

debray@sbcs.UUCP (Saumya Debray) (07/16/84)

<bah, humbug!>

	> Perhaps you haven't seen some of the bizarre phenomena that have
	> come from Mr. Cray.  The Cray I has no divide instruction; instead
	> it has a reciprocal approximation (emphasis on "approximation").

Perhaps you're referring to the "division by multiplication" algorithm (I'm
not familiar with the architecture of the Cray I, so correct me if I'm
wrong, but that's what it sounds like).  This is useful if there's a fast
hardware multiplier, since it obviates the need for a separate hardware
divider. The idea is that since

	     X     X * F0 * F1 * ...
	Q =  -  =  ----------------- ,
	     Y     Y * F0 * F1 * ...

if we can find F0, F1, ... such that (Y * F0 * F1 * ...) approaches 1, then
(X * F0 * F1 * ...) approaches Q.  Incidentally, this division algorithm is
also used by the CDC 6600 and 7600.
-- 
Saumya Debray, 	SUNY at Stony Brook

	uucp:
	    {cbosgd, decvax, ihnp4, mcvax, cmcl2}!philabs \
		    {amd70, akgua, decwrl, utzoo}!allegra  > !sbcs!debray
	       		{teklabs, hp-pcd, metheus}!ogcvax /
	CSNet: debray%suny-sbcs@CSNet-Relay