9 lbit_bits(a, b, len) integer a, b, len;
11 lbit_bits(integer a, integer b, integer len)
14 /* Assume 2's complement arithmetic */
18 x = (unsigned long) a;
19 y = (unsigned long)-1L;
22 return (integer)(x & ~y);
27 lbit_cshift(a, b, len) integer a, b, len;
29 lbit_cshift(integer a, integer b, integer len)
32 unsigned long x, y, z;
40 if (len >= LONGBITS) {
44 return (integer)(x << b | x >> LONGBITS -b );
48 return (integer)(x << LONGBITS - b | x >> b);
50 y = z = (unsigned long)-1;
57 return (integer)(y | z & (x << b | x >> len - b));
61 return (integer)(y | z & (x >> b | x << len - b));