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 | }; |