Parolin 0.7.9 6796
Console (soon DLLs) to do a tar like job
Loading...
Searching...
No Matches
Ppmd.h File Reference
#include "CpuArch.h"

Go to the source code of this file.

Data Structures

struct  CPpmd_See
 
struct  CPpmd_State
 
struct  CPpmd_State2_
 
struct  CPpmd_State4_
 

Macros

#define PPMD_INT_BITS   7
 
#define PPMD_PERIOD_BITS   7
 
#define PPMD_BIN_SCALE   (1 << (PPMD_INT_BITS + PPMD_PERIOD_BITS))
 
#define PPMD_GET_MEAN_SPEC(summ, shift, round)
 
#define PPMD_GET_MEAN(summ)
 
#define PPMD_UPDATE_PROB_0(prob)
 
#define PPMD_UPDATE_PROB_1(prob)
 
#define PPMD_N1   4
 
#define PPMD_N2   4
 
#define PPMD_N3   4
 
#define PPMD_N4   ((128 + 3 - 1 * PPMD_N1 - 2 * PPMD_N2 - 3 * PPMD_N3) / 4)
 
#define PPMD_NUM_INDEXES   (PPMD_N1 + PPMD_N2 + PPMD_N3 + PPMD_N4)
 
#define Ppmd_See_UPDATE(p)
 
#define Ppmd_Ref_Type(type)
 
#define Ppmd_GetRef(p, ptr)
 
#define Ppmd_GetPtr(p, offs)
 
#define Ppmd_GetPtr_Type(p, offs, type)
 
#define Ppmd_GET_SUCCESSOR(p)
 
#define Ppmd_SET_SUCCESSOR(p, v)
 
#define PPMD_SetAllBitsIn256Bytes(p)
 

Typedefs

typedef struct CPpmd_State2_ CPpmd_State2
 
typedef struct CPpmd_State4_ CPpmd_State4
 

Functions

typedef Ppmd_Ref_Type (CPpmd_State) CPpmd_State_Ref
 
typedef Ppmd_Ref_Type (void) CPpmd_Void_Ref
 
typedef Ppmd_Ref_Type (Byte) CPpmd_Byte_Ref
 

Macro Definition Documentation

◆ PPMD_BIN_SCALE

#define PPMD_BIN_SCALE   (1 << (PPMD_INT_BITS + PPMD_PERIOD_BITS))

◆ PPMD_GET_MEAN

#define PPMD_GET_MEAN ( summ)
Value:
#define PPMD_PERIOD_BITS
Definition Ppmd.h:26
#define PPMD_GET_MEAN_SPEC(summ, shift, round)
Definition Ppmd.h:29

◆ PPMD_GET_MEAN_SPEC

#define PPMD_GET_MEAN_SPEC ( summ,
shift,
round )
Value:
(((summ) + (1 << ((shift) - (round)))) >> (shift))

◆ Ppmd_GET_SUCCESSOR

#define Ppmd_GET_SUCCESSOR ( p)
Value:
( (CPpmd_Void_Ref) ((p)->Successor_0 | ((UInt32)(p)->Successor_1 << 16)) )
UInt32 CPpmd_Void_Ref
Definition Ppmd.h:69
unsigned int UInt32
Definition bzlib_private.h:45

◆ Ppmd_GetPtr

#define Ppmd_GetPtr ( p,
offs )
Value:
((void *)((p)->Base + (offs)))

◆ Ppmd_GetPtr_Type

#define Ppmd_GetPtr_Type ( p,
offs,
type )
Value:
((type *)Ppmd_GetPtr(p, offs))
#define Ppmd_GetPtr(p, offs)
Definition Ppmd.h:114

◆ Ppmd_GetRef

#define Ppmd_GetRef ( p,
ptr )
Value:
((UInt32)((Byte *)(ptr) - (p)->Base))
unsigned char Byte
Definition zconf.h:391

◆ PPMD_INT_BITS

#define PPMD_INT_BITS   7

◆ PPMD_N1

#define PPMD_N1   4

◆ PPMD_N2

#define PPMD_N2   4

◆ PPMD_N3

#define PPMD_N3   4

◆ PPMD_N4

#define PPMD_N4   ((128 + 3 - 1 * PPMD_N1 - 2 * PPMD_N2 - 3 * PPMD_N3) / 4)

◆ PPMD_NUM_INDEXES

#define PPMD_NUM_INDEXES   (PPMD_N1 + PPMD_N2 + PPMD_N3 + PPMD_N4)

◆ PPMD_PERIOD_BITS

#define PPMD_PERIOD_BITS   7

◆ Ppmd_Ref_Type

#define Ppmd_Ref_Type ( type)
Value:

◆ Ppmd_See_UPDATE

#define Ppmd_See_UPDATE ( p)
Value:
{ if ((p)->Shift < PPMD_PERIOD_BITS && --(p)->Count == 0) \
{ (p)->Summ = (UInt16)((p)->Summ << 1); \
(p)->Count = (Byte)(3 << (p)->Shift++); }}
unsigned short UInt16
Definition bzlib_private.h:47

◆ Ppmd_SET_SUCCESSOR

#define Ppmd_SET_SUCCESSOR ( p,
v )
Value:
{ \
(p)->Successor_0 = (UInt16)((UInt32)(v) /* & 0xFFFF */); \
(p)->Successor_1 = (UInt16)(((UInt32)(v) >> 16) /* & 0xFFFF */); }

◆ PPMD_SetAllBitsIn256Bytes

#define PPMD_SetAllBitsIn256Bytes ( p)
Value:
{ size_t z; for (z = 0; z < 256 / sizeof(p[0]); z += 8) { \
p[z+7] = p[z+6] = p[z+5] = p[z+4] = p[z+3] = p[z+2] = p[z+1] = p[z+0] = ~(size_t)0; }}

◆ PPMD_UPDATE_PROB_0

#define PPMD_UPDATE_PROB_0 ( prob)
Value:
((prob) + (1 << PPMD_INT_BITS) - PPMD_GET_MEAN(prob))
#define PPMD_GET_MEAN(summ)
Definition Ppmd.h:30
#define PPMD_INT_BITS
Definition Ppmd.h:25

◆ PPMD_UPDATE_PROB_1

#define PPMD_UPDATE_PROB_1 ( prob)
Value:
((prob) - PPMD_GET_MEAN(prob))

Typedef Documentation

◆ CPpmd_State2

typedef struct CPpmd_State2_ CPpmd_State2

◆ CPpmd_State4

typedef struct CPpmd_State4_ CPpmd_State4

Function Documentation

◆ Ppmd_Ref_Type() [1/3]

typedef Ppmd_Ref_Type ( Byte )

◆ Ppmd_Ref_Type() [2/3]

typedef Ppmd_Ref_Type ( CPpmd_State )

◆ Ppmd_Ref_Type() [3/3]

typedef Ppmd_Ref_Type ( void )