/*
  (c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
  See the copyright notice in the ACK home directory, in the file "Copyright".
*/

/* $Header$ */

# include "adder.h"

b64_sft(e1,n)
B64	*e1;
int	n;
{
	if (n>0) do	{	/* RIGHT shift n bits */
		e1->l_32 >>= 1;		/* shift 64 bits	*/
		if (e1->h_32 & 1)
			e1->l_32 |= 0x80000000L;
		e1->h_32 >>= 1;
	} while	(--n);
	else			/* LEFT shift n bits	*/
		while (n++)	{
		e1->h_32 <<= 1;		/* shift 64 bits	*/
		if (e1->l_32 & 0x80000000L)
			e1->h_32 |= 1;
		e1->l_32 <<= 1;
	}
}