1*10465441SEvalZero /* Rubin encoder/decoder header */ 2*10465441SEvalZero /* work started at : aug 3, 1994 */ 3*10465441SEvalZero /* last modification : aug 15, 1994 */ 4*10465441SEvalZero /* $Id: compr_rubin.h,v 1.6 2002/01/25 01:49:26 dwmw2 Exp $ */ 5*10465441SEvalZero 6*10465441SEvalZero #include "pushpull.h" 7*10465441SEvalZero 8*10465441SEvalZero #define RUBIN_REG_SIZE 16 9*10465441SEvalZero #define UPPER_BIT_RUBIN (((long) 1)<<(RUBIN_REG_SIZE-1)) 10*10465441SEvalZero #define LOWER_BITS_RUBIN ((((long) 1)<<(RUBIN_REG_SIZE-1))-1) 11*10465441SEvalZero 12*10465441SEvalZero 13*10465441SEvalZero struct rubin_state { 14*10465441SEvalZero unsigned long p; 15*10465441SEvalZero unsigned long q; 16*10465441SEvalZero unsigned long rec_q; 17*10465441SEvalZero long bit_number; 18*10465441SEvalZero struct pushpull pp; 19*10465441SEvalZero int bit_divider; 20*10465441SEvalZero int bits[8]; 21*10465441SEvalZero }; 22