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