1988-04-07 11:40:46 +00:00
|
|
|
/*
|
|
|
|
(c) copyright 1988 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
|
|
|
See the copyright notice in the ACK home directory, in the file "Copyright".
|
|
|
|
*/
|
|
|
|
|
|
|
|
/* $Header$ */
|
|
|
|
|
1988-04-07 10:57:49 +00:00
|
|
|
# include "adder.h"
|
|
|
|
|
|
|
|
b64_sft(e1,n)
|
|
|
|
B64 *e1;
|
1988-07-25 10:46:15 +00:00
|
|
|
int n;
|
1988-04-07 10:57:49 +00:00
|
|
|
{
|
|
|
|
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;
|
|
|
|
}
|
|
|
|
}
|