blob: cf51e34f657458edb817015f1a093f86c8bb0e22 [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 */
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
13struct 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};