39.24 model_0.h

/* Código de compresión que indica el fin del stream de datos. Su  
   posición dentro del alfabeto fuente será siempre al final del  
   mismo. */  
#define EOS (ALPHA_SIZE-1)  
 
/* Máximo recuento acumulado permitido. Este valor afecta a la  
   precisión del modelo probabilístico a la hora de calcular las  
   probabilidades de los símbolos. */  
#define MAX_CUM_COUNT 16383  
 
/* Probabilidad (en forma de recuento) de los índices. Cada índice  
   está asociado a un símbolo diferente, cumpliéndose que el índice 0  
   no se pude usar para ningún símbolo aunque debe estar definido  
   cumpliéndose siempre que el recuento para el índice 0 debe ser  
   siempre 0 (este es un requerimiento del codificador aritmético que  
   estamos usando). Por tanto, si existen ALPHA_SIZE símbolos  
   diferentes, existen ALPHA_SIZE+1 índices distintos. Nótese además  
   que el tipo de dato asociado se escoge en relación con el valor  
   MAX_CUM_COUNT. */  
static unsigned short prob[ALPHA_SIZE+1];  
 
/* Recuentos acumulados de los índices. El codificador aritmético  
   necesita que la entrada cum_prob[0] almacene el recuento acumlado  
   de todos los símbolos. Nótese además que el tipo de dato asociado  
   se escoge en relación con el valor MAX_CUM_COUNT. */  
static unsigned short cum_prob[ALPHA_SIZE+1];  
 
/* Símbolo codificado. */  
static int symbol;  
 
/* Indice del símbolo codificado. */  
static int index;