| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* Rubin encoder/decoder header       */ | 
 | 2 | /* work started at   : aug   3, 1994  */ | 
 | 3 | /* last modification : aug  15, 1994  */ | 
| Thomas Gleixner | 182ec4e | 2005-11-07 11:16:07 +0000 | [diff] [blame] | 4 | /* $Id: compr_rubin.h,v 1.7 2005/11/07 11:14:38 gleixner Exp $ */ | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 { | 
| Thomas Gleixner | 182ec4e | 2005-11-07 11:16:07 +0000 | [diff] [blame] | 14 | 	unsigned long p; | 
 | 15 | 	unsigned long q; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 16 | 	unsigned long rec_q; | 
 | 17 | 	long bit_number; | 
 | 18 | 	struct pushpull pp; | 
 | 19 | 	int bit_divider; | 
 | 20 | 	int bits[8]; | 
 | 21 | }; |