2005-04-17 06:20:36 +08:00
|
|
|
/* Rubin encoder/decoder header */
|
|
|
|
/* work started at : aug 3, 1994 */
|
|
|
|
/* last modification : aug 15, 1994 */
|
2005-11-07 19:16:07 +08:00
|
|
|
/* $Id: compr_rubin.h,v 1.7 2005/11/07 11:14:38 gleixner Exp $ */
|
2005-04-17 06:20:36 +08:00
|
|
|
|
|
|
|
#include "pushpull.h"
|
|
|
|
|
|
|
|
#define RUBIN_REG_SIZE 16
|
|
|
|
#define UPPER_BIT_RUBIN (((long) 1)<<(RUBIN_REG_SIZE-1))
|
|
|
|
#define LOWER_BITS_RUBIN ((((long) 1)<<(RUBIN_REG_SIZE-1))-1)
|
|
|
|
|
|
|
|
|
|
|
|
struct rubin_state {
|
2005-11-07 19:16:07 +08:00
|
|
|
unsigned long p;
|
|
|
|
unsigned long q;
|
2005-04-17 06:20:36 +08:00
|
|
|
unsigned long rec_q;
|
|
|
|
long bit_number;
|
|
|
|
struct pushpull pp;
|
|
|
|
int bit_divider;
|
|
|
|
int bits[8];
|
|
|
|
};
|