.TH "sources/import/edz/lzma/Ppmd.h" 3 "Version 0.200.1-dev" "QElectroTech" \" -*- nroff -*-
.ad l
.nh
.SH NAME
sources/import/edz/lzma/Ppmd.h
.SH SYNOPSIS
.br
.PP
\fR#include 'CpuArch\&.h'\fP
.br

.SS "Classes"

.in +1c
.ti -1c
.RI "struct \fBCPpmd_See\fP"
.br
.ti -1c
.RI "struct \fBCPpmd_State\fP"
.br
.ti -1c
.RI "struct \fBCPpmd_State2_\fP"
.br
.ti -1c
.RI "struct \fBCPpmd_State4_\fP"
.br
.in -1c
.SS "Macros"

.in +1c
.ti -1c
.RI "#define \fBPPMD_INT_BITS\fP   7"
.br
.ti -1c
.RI "#define \fBPPMD_PERIOD_BITS\fP   7"
.br
.ti -1c
.RI "#define \fBPPMD_BIN_SCALE\fP   (1 << (\fBPPMD_INT_BITS\fP + \fBPPMD_PERIOD_BITS\fP))"
.br
.ti -1c
.RI "#define \fBPPMD_GET_MEAN_SPEC\fP(summ,  shift,  round)"
.br
.ti -1c
.RI "#define \fBPPMD_GET_MEAN\fP(summ)"
.br
.ti -1c
.RI "#define \fBPPMD_UPDATE_PROB_0\fP(prob)"
.br
.ti -1c
.RI "#define \fBPPMD_UPDATE_PROB_1\fP(prob)"
.br
.ti -1c
.RI "#define \fBPPMD_N1\fP   4"
.br
.ti -1c
.RI "#define \fBPPMD_N2\fP   4"
.br
.ti -1c
.RI "#define \fBPPMD_N3\fP   4"
.br
.ti -1c
.RI "#define \fBPPMD_N4\fP   ((128 + 3 \- 1 * \fBPPMD_N1\fP \- 2 * \fBPPMD_N2\fP \- 3 * \fBPPMD_N3\fP) / 4)"
.br
.ti -1c
.RI "#define \fBPPMD_NUM_INDEXES\fP   (\fBPPMD_N1\fP + \fBPPMD_N2\fP + \fBPPMD_N3\fP + \fBPPMD_N4\fP)"
.br
.ti -1c
.RI "#define \fBPpmd_See_UPDATE\fP(p)"
.br
.ti -1c
.RI "#define \fBPpmd_Ref_Type\fP(type)"
.br
.ti -1c
.RI "#define \fBPpmd_GetRef\fP(p,  ptr)"
.br
.ti -1c
.RI "#define \fBPpmd_GetPtr\fP(p,  offs)"
.br
.ti -1c
.RI "#define \fBPpmd_GetPtr_Type\fP(p,  offs,  type)"
.br
.ti -1c
.RI "#define \fBPpmd_GET_SUCCESSOR\fP(p)"
.br
.ti -1c
.RI "#define \fBPpmd_SET_SUCCESSOR\fP(p,  v)"
.br
.ti -1c
.RI "#define \fBPPMD_SetAllBitsIn256Bytes\fP(p)"
.br
.in -1c
.SS "Typedefs"

.in +1c
.ti -1c
.RI "typedef struct \fBCPpmd_State2_\fP \fBCPpmd_State2\fP"
.br
.ti -1c
.RI "typedef struct \fBCPpmd_State4_\fP \fBCPpmd_State4\fP"
.br
.in -1c
.SS "Functions"

.in +1c
.ti -1c
.RI "typedef \fBPpmd_Ref_Type\fP (\fBCPpmd_State\fP) CPpmd_State_Ref"
.br
.ti -1c
.RI "typedef \fBPpmd_Ref_Type\fP (void) CPpmd_Void_Ref"
.br
.ti -1c
.RI "typedef \fBPpmd_Ref_Type\fP (\fBByte\fP) CPpmd_Byte_Ref"
.br
.in -1c
.SH "Macro Definition Documentation"
.PP 
.SS "#define PPMD_BIN_SCALE   (1 << (\fBPPMD_INT_BITS\fP + \fBPPMD_PERIOD_BITS\fP))"

.SS "#define PPMD_GET_MEAN( summ)"
\fBValue:\fP
.nf
PPMD_GET_MEAN_SPEC((summ), PPMD_PERIOD_BITS, 2)
.PP
.fi

.SS "#define PPMD_GET_MEAN_SPEC( summ,  shift,  round)"
\fBValue:\fP
.nf
(((summ) + (1 << ((shift) \- (round)))) >> (shift))
.PP
.fi

.SS "#define Ppmd_GET_SUCCESSOR( p)"
\fBValue:\fP
.nf
    ( (CPpmd_Void_Ref) ((p)\->Successor_0 | ((UInt32)(p)\->Successor_1 << 16)) )
.PP
.fi

.SS "#define Ppmd_GetPtr( p,  offs)"
\fBValue:\fP
.nf
((void *)((p)\->Base + (offs)))
.PP
.fi

.SS "#define Ppmd_GetPtr_Type( p,  offs,  type)"
\fBValue:\fP
.nf
((type *)Ppmd_GetPtr(p, offs))
.PP
.fi

.SS "#define Ppmd_GetRef( p,  ptr)"
\fBValue:\fP
.nf
((UInt32)((Byte *)(ptr) \- (p)\->Base))
.PP
.fi

.SS "#define PPMD_INT_BITS   7"

.SS "#define PPMD_N1   4"

.SS "#define PPMD_N2   4"

.SS "#define PPMD_N3   4"

.SS "#define PPMD_N4   ((128 + 3 \- 1 * \fBPPMD_N1\fP \- 2 * \fBPPMD_N2\fP \- 3 * \fBPPMD_N3\fP) / 4)"

.SS "#define PPMD_NUM_INDEXES   (\fBPPMD_N1\fP + \fBPPMD_N2\fP + \fBPPMD_N3\fP + \fBPPMD_N4\fP)"

.SS "#define PPMD_PERIOD_BITS   7"

.SS "#define Ppmd_Ref_Type( type)"
\fBValue:\fP
.nf
UInt32
.PP
.fi

.SS "#define Ppmd_See_UPDATE( p)"
\fBValue:\fP
.nf
  { if ((p)\->Shift < PPMD_PERIOD_BITS && \-\-(p)\->Count == 0) \\
    { (p)\->Summ = (UInt16)((p)\->Summ << 1); \\
      (p)\->Count = (Byte)(3 << (p)\->Shift++); }}
.PP
.fi

.SS "#define Ppmd_SET_SUCCESSOR( p,  v)"
\fBValue:\fP
.nf
    { \\
    (p)\->Successor_0 = (UInt16)((UInt32)(v) /* & 0xFFFF */); \\
    (p)\->Successor_1 = (UInt16)(((UInt32)(v) >> 16) /* & 0xFFFF */); }
.PP
.fi

.SS "#define PPMD_SetAllBitsIn256Bytes( p)"
\fBValue:\fP
.nf
  { 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; }}
.PP
.fi

.SS "#define PPMD_UPDATE_PROB_0( prob)"
\fBValue:\fP
.nf
((prob) + (1 << PPMD_INT_BITS) \- PPMD_GET_MEAN(prob))
.PP
.fi

.SS "#define PPMD_UPDATE_PROB_1( prob)"
\fBValue:\fP
.nf
((prob) \- PPMD_GET_MEAN(prob))
.PP
.fi

.SH "Typedef Documentation"
.PP 
.SS "typedef struct \fBCPpmd_State2_\fP \fBCPpmd_State2\fP"

.SS "typedef struct \fBCPpmd_State4_\fP \fBCPpmd_State4\fP"

.SH "Function Documentation"
.PP 
.SS "typedef Ppmd_Ref_Type (\fBByte\fP )"

.SS "typedef Ppmd_Ref_Type (\fBCPpmd_State\fP )"

.SS "typedef Ppmd_Ref_Type (void )"

.SH "Author"
.PP 
Generated automatically by Doxygen for QElectroTech from the source code\&.
