\hypertarget{arithCoder_8hpp}{}\section{arith\+Coder.\+hpp File Reference}
\label{arithCoder_8hpp}\index{arith\+Coder.\+hpp@{arith\+Coder.\+hpp}}


M-\/ary and Binary Arithmetic Coders.  


{\ttfamily \#include $<$S\+P\+L/config.\+hpp$>$}\\*
{\ttfamily \#include $<$cassert$>$}\\*
{\ttfamily \#include $<$fstream$>$}\\*
{\ttfamily \#include $<$iostream$>$}\\*
{\ttfamily \#include $<$vector$>$}\\*
{\ttfamily \#include $<$S\+P\+L/bit\+Stream.\+hpp$>$}\\*
\subsection*{Classes}
\begin{DoxyCompactItemize}
\item 
class \hyperlink{classSPL_1_1MultiArithEncoder}{S\+P\+L\+::\+Multi\+Arith\+Encoder}
\begin{DoxyCompactList}\small\item\em M-\/ary arithmetic encoder class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1MultiArithDecoder}{S\+P\+L\+::\+Multi\+Arith\+Decoder}
\begin{DoxyCompactList}\small\item\em M-\/ary arithmetic decoder class. \end{DoxyCompactList}\item 
struct \hyperlink{structSPL_1_1BinArithCoderContextStat}{S\+P\+L\+::\+Bin\+Arith\+Coder\+Context\+Stat}
\begin{DoxyCompactList}\small\item\em Binary Arithmetic Coder Context Statistics Class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1BinArithEncoder}{S\+P\+L\+::\+Bin\+Arith\+Encoder}
\begin{DoxyCompactList}\small\item\em Binary arithmetic encoder class. \end{DoxyCompactList}\item 
class \hyperlink{classSPL_1_1BinArithDecoder}{S\+P\+L\+::\+Bin\+Arith\+Decoder}
\begin{DoxyCompactList}\small\item\em Binary arithmetic decoder class. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
M-\/ary and Binary Arithmetic Coders. 

The arithmetic coding method implemented is essentially that presented in\+: I. H. Witten, R. M. Neal, and J. G. Cleary, \char`\"{}\+Arithmetic Coding for
    Data Compression\char`\"{}, Communications of the A\+C\+M, 30(6), June 1987, pp. 520-\/540. 