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