blob: bf1a934516210608229241e14e1ace0329d9c0fa [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* Rubin encoder/decoder header */
2/* work started at : aug 3, 1994 */
3/* last modification : aug 15, 1994 */
Thomas Gleixner182ec4e2005-11-07 11:16:07 +00004/* $Id: compr_rubin.h,v 1.7 2005/11/07 11:14:38 gleixner Exp $ */
Linus Torvalds1da177e2005-04-16 15:20:36 -07005
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
13struct rubin_state {
Thomas Gleixner182ec4e2005-11-07 11:16:07 +000014 unsigned long p;
15 unsigned long q;
Linus Torvalds1da177e2005-04-16 15:20:36 -070016 unsigned long rec_q;
17 long bit_number;
18 struct pushpull pp;
19 int bit_divider;
20 int bits[8];
21};