diff options
author | kan <kan@FreeBSD.org> | 2003-07-11 03:42:19 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2003-07-11 03:42:19 +0000 |
commit | 7b704871fdac058719f34a1e6b9de71ee76c5be4 (patch) | |
tree | ddafd6196c36e6100eb4f969af01a11ee9c83a81 /contrib/libf2c/libF77/qbitbits.c | |
parent | bb754981e6f83bc1f224dc4b7f478d80024e6c9f (diff) | |
download | FreeBSD-src-7b704871fdac058719f34a1e6b9de71ee76c5be4.zip FreeBSD-src-7b704871fdac058719f34a1e6b9de71ee76c5be4.tar.gz |
Gcc 3.3.1-pre 2003-07-11 libf2c bits.
Diffstat (limited to 'contrib/libf2c/libF77/qbitbits.c')
-rw-r--r-- | contrib/libf2c/libF77/qbitbits.c | 94 |
1 files changed, 45 insertions, 49 deletions
diff --git a/contrib/libf2c/libF77/qbitbits.c b/contrib/libf2c/libF77/qbitbits.c index ad4ac96..f72858e 100644 --- a/contrib/libf2c/libF77/qbitbits.c +++ b/contrib/libf2c/libF77/qbitbits.c @@ -8,59 +8,55 @@ #define LONG8BITS (2*LONGBITS) #endif - integer -#ifdef KR_headers -qbit_bits(a, b, len) longint a; integer b, len; -#else -qbit_bits(longint a, integer b, integer len) -#endif +integer +qbit_bits (longint a, integer b, integer len) { - /* Assume 2's complement arithmetic */ + /* Assume 2's complement arithmetic */ - ulongint x, y; + ulongint x, y; - x = (ulongint) a; - y = (ulongint)-1L; - x >>= b; - y <<= len; - return (longint)(x & y); - } + x = (ulongint) a; + y = (ulongint) - 1L; + x >>= b; + y <<= len; + return (longint) (x & y); +} - longint -#ifdef KR_headers -qbit_cshift(a, b, len) longint a; integer b, len; -#else -qbit_cshift(longint a, integer b, integer len) -#endif +longint +qbit_cshift (longint a, integer b, integer len) { - ulongint x, y, z; + ulongint x, y, z; - x = (ulongint)a; - if (len <= 0) { - if (len == 0) - return 0; - goto full_len; - } - if (len >= LONG8BITS) { - full_len: - if (b >= 0) { - b %= LONG8BITS; - return (longint)(x << b | x >> LONG8BITS - b ); - } - b = -b; - b %= LONG8BITS; - return (longint)(x << LONG8BITS - b | x >> b); - } - y = z = (unsigned long)-1; - y <<= len; - z &= ~y; - y &= x; - x &= z; - if (b >= 0) { - b %= len; - return (longint)(y | z & (x << b | x >> len - b)); - } - b = -b; - b %= len; - return (longint)(y | z & (x >> b | x << len - b)); + x = (ulongint) a; + if (len <= 0) + { + if (len == 0) + return 0; + goto full_len; + } + if (len >= LONG8BITS) + { + full_len: + if (b >= 0) + { + b %= LONG8BITS; + return (longint) (x << b | x >> (LONG8BITS - b)); } + b = -b; + b %= LONG8BITS; + return (longint) (x << (LONG8BITS - b) | x >> b); + } + y = z = (unsigned long) -1; + y <<= len; + z &= ~y; + y &= x; + x &= z; + if (b >= 0) + { + b %= len; + return (longint) (y | (z & (x << b | x >> (len - b)))); + } + b = -b; + b %= len; + return (longint) (y | (z & (x >> b | x << (len - b)))); +} |