diff options
Diffstat (limited to 'libf2c/libF77/lbitbits.c')
-rw-r--r-- | libf2c/libF77/lbitbits.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/libf2c/libF77/lbitbits.c b/libf2c/libF77/lbitbits.c deleted file mode 100644 index 3b28ae97aba..00000000000 --- a/libf2c/libF77/lbitbits.c +++ /dev/null @@ -1,58 +0,0 @@ -#include "f2c.h" - -#ifndef LONGBITS -#define LONGBITS 32 -#endif - -integer -lbit_bits (integer a, integer b, integer len) -{ - /* Assume 2's complement arithmetic */ - - unsigned long x, y; - - x = (unsigned long) a; - y = (unsigned long) -1L; - x >>= b; - y <<= len; - return (integer) (x & ~y); -} - -integer -lbit_cshift (integer a, integer b, integer len) -{ - unsigned long x, y, z; - - x = (unsigned long) a; - if (len <= 0) - { - if (len == 0) - return 0; - goto full_len; - } - if (len >= LONGBITS) - { - full_len: - if (b >= 0) - { - b %= LONGBITS; - return (integer) (x << b | x >> (LONGBITS - b)); - } - b = -b; - b %= LONGBITS; - return (integer) (x << (LONGBITS - b) | x >> b); - } - y = z = (unsigned long) -1; - y <<= len; - z &= ~y; - y &= x; - x &= z; - if (b >= 0) - { - b %= len; - return (integer) (y | (z & (x << b | x >> (len - b)))); - } - b = -b; - b %= len; - return (integer) (y | (z & (x >> b | x << (len - b)))); -} |