| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | #include "f2c.h"#ifdef __cplusplusextern "C" {#endif#ifndef LONGBITS#define LONGBITS 32#endif integer#ifdef KR_headerslbit_bits(a, b, len) integer a, b, len;#elselbit_bits(integer a, integer b, integer len)#endif{	/* 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#ifdef KR_headerslbit_cshift(a, b, len) integer a, b, len;#elselbit_cshift(integer a, integer b, integer len)#endif{	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));	}#ifdef __cplusplus}#endif
 |