\doxysection{Parity}
\label{group__parity}\index{Parity@{Parity}}


GSM TS 05.\+03 parity.  


\doxysubsection*{Files}
\begin{DoxyCompactItemize}
\item 
file \textbf{ gsm0503\+\_\+parity.\+h}
\begin{DoxyCompactList}\small\item\em GSM TS 05.\+03 parity. \end{DoxyCompactList}\item 
file \textbf{ gsm0503\+\_\+parity.\+c}
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ osmo\+\_\+crc64gen\+\_\+code} \textbf{ gsm0503\+\_\+fire\+\_\+crc40}
\begin{DoxyCompactList}\small\item\em GSM (SACCH) parity (FIRE code) \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+cs234\+\_\+crc16}
\begin{DoxyCompactList}\small\item\em GSM PDTCH CS-\/2, CS-\/3, CS-\/4 parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+mcs\+\_\+crc8\+\_\+hdr}
\begin{DoxyCompactList}\small\item\em EDGE MCS header parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+mcs\+\_\+crc12}
\begin{DoxyCompactList}\small\item\em EDGE MCS data parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+rach\+\_\+crc6}
\begin{DoxyCompactList}\small\item\em GSM RACH parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+sch\+\_\+crc10}
\begin{DoxyCompactList}\small\item\em GSM SCH parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+crc3}
\begin{DoxyCompactList}\small\item\em GSM TCH FR/\+HR/\+EFR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+tch\+\_\+efr\+\_\+crc8}
\begin{DoxyCompactList}\small\item\em GSM TCH EFR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+amr\+\_\+crc6}
\begin{DoxyCompactList}\small\item\em GSM AMR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+amr\+\_\+crc14}
\begin{DoxyCompactList}\small\item\em GSM AMR parity (SID\+\_\+\+UPDATE) \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc64gen\+\_\+code} \textbf{ gsm0503\+\_\+fire\+\_\+crc40}
\begin{DoxyCompactList}\small\item\em GSM (SACCH) parity (FIRE code) \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+cs234\+\_\+crc16}
\begin{DoxyCompactList}\small\item\em GSM PDTCH CS-\/2, CS-\/3, CS-\/4 parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+mcs\+\_\+crc8\+\_\+hdr}
\begin{DoxyCompactList}\small\item\em EDGE MCS header parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+mcs\+\_\+crc12}
\begin{DoxyCompactList}\small\item\em EDGE MCS data parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+rach\+\_\+crc6}
\begin{DoxyCompactList}\small\item\em GSM RACH parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+sch\+\_\+crc10}
\begin{DoxyCompactList}\small\item\em GSM SCH parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+crc3}
\begin{DoxyCompactList}\small\item\em GSM TCH FR/\+HR/\+EFR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+tch\+\_\+efr\+\_\+crc8}
\begin{DoxyCompactList}\small\item\em GSM TCH EFR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} \textbf{ gsm0503\+\_\+amr\+\_\+crc6}
\begin{DoxyCompactList}\small\item\em GSM AMR parity. \end{DoxyCompactList}\item 
const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} \textbf{ gsm0503\+\_\+amr\+\_\+crc14}
\begin{DoxyCompactList}\small\item\em GSM AMR parity (SID\+\_\+\+UPDATE) \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
GSM TS 05.\+03 parity. 

This module contains parity/crc code definitions for the various parity/crc schemes as defined in 3GPP TS 05.\+03 / 45.\+003 

\doxysubsection{Variable Documentation}
\mbox{\label{group__parity_ga90698eefd2bde3ee403dde6280d2cf27}} 
\index{Parity@{Parity}!gsm0503\_amr\_crc14@{gsm0503\_amr\_crc14}}
\index{gsm0503\_amr\_crc14@{gsm0503\_amr\_crc14}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_amr\_crc14\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+amr\+\_\+crc14\hspace{0.3cm}{\ttfamily [extern]}}



GSM AMR parity (SID\+\_\+\+UPDATE) 

g(x) = x$^\wedge$14 + x$^\wedge$13 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+decode\+\_\+dtx()}, and \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+decode\+\_\+dtx()}.

\mbox{\label{group__parity_ga90698eefd2bde3ee403dde6280d2cf27}} 
\index{Parity@{Parity}!gsm0503\_amr\_crc14@{gsm0503\_amr\_crc14}}
\index{gsm0503\_amr\_crc14@{gsm0503\_amr\_crc14}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_amr\_crc14\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+amr\+\_\+crc14}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 14,}
\DoxyCodeLine{        .poly = 0x202d,}
\DoxyCodeLine{        .init = 0x0000,}
\DoxyCodeLine{        .remainder = 0x3fff,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM AMR parity (SID\+\_\+\+UPDATE) 

g(x) = x$^\wedge$14 + x$^\wedge$13 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+decode\+\_\+dtx()}, and \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+decode\+\_\+dtx()}.

\mbox{\label{group__parity_gab3fc09b3e089291e82378da97ce3dbc9}} 
\index{Parity@{Parity}!gsm0503\_amr\_crc6@{gsm0503\_amr\_crc6}}
\index{gsm0503\_amr\_crc6@{gsm0503\_amr\_crc6}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_amr\_crc6\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+amr\+\_\+crc6\hspace{0.3cm}{\ttfamily [extern]}}



GSM AMR parity. 

g(x) = x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + x$^\wedge$1 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+decode\+\_\+dtx()}, \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+encode()}, \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+decode\+\_\+dtx()}, and \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+encode()}.

\mbox{\label{group__parity_gab3fc09b3e089291e82378da97ce3dbc9}} 
\index{Parity@{Parity}!gsm0503\_amr\_crc6@{gsm0503\_amr\_crc6}}
\index{gsm0503\_amr\_crc6@{gsm0503\_amr\_crc6}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_amr\_crc6\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+amr\+\_\+crc6}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 6,}
\DoxyCodeLine{        .poly = 0x2f,}
\DoxyCodeLine{        .init = 0x00,}
\DoxyCodeLine{        .remainder = 0x3f,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM AMR parity. 

g(x) = x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + x$^\wedge$1 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+decode\+\_\+dtx()}, \textbf{ gsm0503\+\_\+tch\+\_\+afs\+\_\+encode()}, \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+decode\+\_\+dtx()}, and \textbf{ gsm0503\+\_\+tch\+\_\+ahs\+\_\+encode()}.

\mbox{\label{group__parity_ga4cb445bc5f862f9fef12264857f821ae}} 
\index{Parity@{Parity}!gsm0503\_cs234\_crc16@{gsm0503\_cs234\_crc16}}
\index{gsm0503\_cs234\_crc16@{gsm0503\_cs234\_crc16}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_cs234\_crc16\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+cs234\+\_\+crc16\hspace{0.3cm}{\ttfamily [extern]}}



GSM PDTCH CS-\/2, CS-\/3, CS-\/4 parity. 

g(x) = x$^\wedge$16 + x$^\wedge$12 + x$^\wedge$5 + 1 

Referenced by \textbf{ gsm0503\+\_\+pdtch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+pdtch\+\_\+encode()}.

\mbox{\label{group__parity_ga4cb445bc5f862f9fef12264857f821ae}} 
\index{Parity@{Parity}!gsm0503\_cs234\_crc16@{gsm0503\_cs234\_crc16}}
\index{gsm0503\_cs234\_crc16@{gsm0503\_cs234\_crc16}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_cs234\_crc16\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+cs234\+\_\+crc16}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 16,}
\DoxyCodeLine{        .poly = 0x1021,}
\DoxyCodeLine{        .init = 0x0000,}
\DoxyCodeLine{        .remainder = 0xffff,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM PDTCH CS-\/2, CS-\/3, CS-\/4 parity. 

g(x) = x$^\wedge$16 + x$^\wedge$12 + x$^\wedge$5 + 1 

Referenced by \textbf{ gsm0503\+\_\+pdtch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+pdtch\+\_\+encode()}.

\mbox{\label{group__parity_ga98de51b3b0c266ee39eccc8eeb8bab72}} 
\index{Parity@{Parity}!gsm0503\_fire\_crc40@{gsm0503\_fire\_crc40}}
\index{gsm0503\_fire\_crc40@{gsm0503\_fire\_crc40}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_fire\_crc40\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc64gen\+\_\+code} gsm0503\+\_\+fire\+\_\+crc40\hspace{0.3cm}{\ttfamily [extern]}}



GSM (SACCH) parity (FIRE code) 

g(x) = (x$^\wedge$23 + 1)(x$^\wedge$17 + x$^\wedge$3 + 1) = x$^\wedge$40 + x$^\wedge$26 + x$^\wedge$23 + x$^\wedge$17 + x$^\wedge$3 + a1 

Referenced by \textbf{ \+\_\+xcch\+\_\+decode\+\_\+c\+B()}, \textbf{ \+\_\+xcch\+\_\+encode\+\_\+c\+B()}, \textbf{ gsm0503\+\_\+pdtch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+pdtch\+\_\+encode()}.

\mbox{\label{group__parity_ga98de51b3b0c266ee39eccc8eeb8bab72}} 
\index{Parity@{Parity}!gsm0503\_fire\_crc40@{gsm0503\_fire\_crc40}}
\index{gsm0503\_fire\_crc40@{gsm0503\_fire\_crc40}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_fire\_crc40\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc64gen\+\_\+code} gsm0503\+\_\+fire\+\_\+crc40}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 40,}
\DoxyCodeLine{        .poly = 0x0004820009ULL,}
\DoxyCodeLine{        .init = 0x0000000000ULL,}
\DoxyCodeLine{        .remainder = 0xffffffffffULL,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM (SACCH) parity (FIRE code) 

g(x) = (x$^\wedge$23 + 1)(x$^\wedge$17 + x$^\wedge$3 + 1) = x$^\wedge$40 + x$^\wedge$26 + x$^\wedge$23 + x$^\wedge$17 + x$^\wedge$3 + a1 

Referenced by \textbf{ \+\_\+xcch\+\_\+decode\+\_\+c\+B()}, \textbf{ \+\_\+xcch\+\_\+encode\+\_\+c\+B()}, \textbf{ gsm0503\+\_\+pdtch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+pdtch\+\_\+encode()}.

\mbox{\label{group__parity_ga623b298cf1b108553bf1710f787573e5}} 
\index{Parity@{Parity}!gsm0503\_mcs\_crc12@{gsm0503\_mcs\_crc12}}
\index{gsm0503\_mcs\_crc12@{gsm0503\_mcs\_crc12}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_mcs\_crc12\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+mcs\+\_\+crc12\hspace{0.3cm}{\ttfamily [extern]}}



EDGE MCS data parity. 



Referenced by \textbf{ egprs\+\_\+decode\+\_\+data()}, and \textbf{ egprs\+\_\+encode\+\_\+data()}.

\mbox{\label{group__parity_ga623b298cf1b108553bf1710f787573e5}} 
\index{Parity@{Parity}!gsm0503\_mcs\_crc12@{gsm0503\_mcs\_crc12}}
\index{gsm0503\_mcs\_crc12@{gsm0503\_mcs\_crc12}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_mcs\_crc12\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+mcs\+\_\+crc12}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 12,}
\DoxyCodeLine{        .poly = 0x0d31,}
\DoxyCodeLine{        .init = 0x0000,}
\DoxyCodeLine{        .remainder = 0x0fff,}
\DoxyCodeLine{\}}

\end{DoxyCode}


EDGE MCS data parity. 



Referenced by \textbf{ egprs\+\_\+decode\+\_\+data()}, and \textbf{ egprs\+\_\+encode\+\_\+data()}.

\mbox{\label{group__parity_ga40b02107f477eef4f8a83874b7c5845b}} 
\index{Parity@{Parity}!gsm0503\_mcs\_crc8\_hdr@{gsm0503\_mcs\_crc8\_hdr}}
\index{gsm0503\_mcs\_crc8\_hdr@{gsm0503\_mcs\_crc8\_hdr}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_mcs\_crc8\_hdr\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+mcs\+\_\+crc8\+\_\+hdr\hspace{0.3cm}{\ttfamily [extern]}}



EDGE MCS header parity. 



Referenced by \textbf{ \+\_\+egprs\+\_\+decode\+\_\+hdr()}, and \textbf{ egprs\+\_\+encode\+\_\+hdr()}.

\mbox{\label{group__parity_ga40b02107f477eef4f8a83874b7c5845b}} 
\index{Parity@{Parity}!gsm0503\_mcs\_crc8\_hdr@{gsm0503\_mcs\_crc8\_hdr}}
\index{gsm0503\_mcs\_crc8\_hdr@{gsm0503\_mcs\_crc8\_hdr}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_mcs\_crc8\_hdr\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+mcs\+\_\+crc8\+\_\+hdr}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 8,}
\DoxyCodeLine{        .poly = 0x49,}
\DoxyCodeLine{        .init = 0x00,}
\DoxyCodeLine{        .remainder = 0xff,}
\DoxyCodeLine{\}}

\end{DoxyCode}


EDGE MCS header parity. 



Referenced by \textbf{ \+\_\+egprs\+\_\+decode\+\_\+hdr()}, and \textbf{ egprs\+\_\+encode\+\_\+hdr()}.

\mbox{\label{group__parity_gaff1bfe6d953bb3e509dd1d9f54d0dcb7}} 
\index{Parity@{Parity}!gsm0503\_rach\_crc6@{gsm0503\_rach\_crc6}}
\index{gsm0503\_rach\_crc6@{gsm0503\_rach\_crc6}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_rach\_crc6\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+rach\+\_\+crc6\hspace{0.3cm}{\ttfamily [extern]}}



GSM RACH parity. 

g(x) = x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + x$^\wedge$1 + 1 

Referenced by \textbf{ gsm0503\+\_\+rach\+\_\+ext\+\_\+encode()}, and \textbf{ rach\+\_\+decode\+\_\+ber()}.

\mbox{\label{group__parity_gaff1bfe6d953bb3e509dd1d9f54d0dcb7}} 
\index{Parity@{Parity}!gsm0503\_rach\_crc6@{gsm0503\_rach\_crc6}}
\index{gsm0503\_rach\_crc6@{gsm0503\_rach\_crc6}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_rach\_crc6\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+rach\+\_\+crc6}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 6,}
\DoxyCodeLine{        .poly = 0x2f,}
\DoxyCodeLine{        .init = 0x00,}
\DoxyCodeLine{        .remainder = 0x3f,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM RACH parity. 

g(x) = x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$3 + x$^\wedge$2 + x$^\wedge$1 + 1 

Referenced by \textbf{ gsm0503\+\_\+rach\+\_\+ext\+\_\+encode()}, and \textbf{ rach\+\_\+decode\+\_\+ber()}.

\mbox{\label{group__parity_ga6b73115f7c92d20be5bb9dcaae3b736c}} 
\index{Parity@{Parity}!gsm0503\_sch\_crc10@{gsm0503\_sch\_crc10}}
\index{gsm0503\_sch\_crc10@{gsm0503\_sch\_crc10}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_sch\_crc10\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+sch\+\_\+crc10\hspace{0.3cm}{\ttfamily [extern]}}



GSM SCH parity. 

g(x) = x$^\wedge$10 + x$^\wedge$8 + x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$4 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+sch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+sch\+\_\+encode()}.

\mbox{\label{group__parity_ga6b73115f7c92d20be5bb9dcaae3b736c}} 
\index{Parity@{Parity}!gsm0503\_sch\_crc10@{gsm0503\_sch\_crc10}}
\index{gsm0503\_sch\_crc10@{gsm0503\_sch\_crc10}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_sch\_crc10\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc16gen\+\_\+code} gsm0503\+\_\+sch\+\_\+crc10}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 10,}
\DoxyCodeLine{        .poly = 0x175,}
\DoxyCodeLine{        .init = 0x000,}
\DoxyCodeLine{        .remainder = 0x3ff,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM SCH parity. 

g(x) = x$^\wedge$10 + x$^\wedge$8 + x$^\wedge$6 + x$^\wedge$5 + x$^\wedge$4 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+sch\+\_\+decode()}, and \textbf{ gsm0503\+\_\+sch\+\_\+encode()}.

\mbox{\label{group__parity_ga6bf508b66910111bb3ccfbb7c2bba35b}} 
\index{Parity@{Parity}!gsm0503\_tch\_efr\_crc8@{gsm0503\_tch\_efr\_crc8}}
\index{gsm0503\_tch\_efr\_crc8@{gsm0503\_tch\_efr\_crc8}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_tch\_efr\_crc8\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+tch\+\_\+efr\+\_\+crc8\hspace{0.3cm}{\ttfamily [extern]}}



GSM TCH EFR parity. 

g(x) = x$^\wedge$8 + x$^\wedge$4 + x$^\wedge$3 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+decode()}, and \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+encode()}.

\mbox{\label{group__parity_ga6bf508b66910111bb3ccfbb7c2bba35b}} 
\index{Parity@{Parity}!gsm0503\_tch\_efr\_crc8@{gsm0503\_tch\_efr\_crc8}}
\index{gsm0503\_tch\_efr\_crc8@{gsm0503\_tch\_efr\_crc8}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_tch\_efr\_crc8\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+tch\+\_\+efr\+\_\+crc8}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 8,}
\DoxyCodeLine{        .poly = 0x1d,}
\DoxyCodeLine{        .init = 0x00,}
\DoxyCodeLine{        .remainder = 0x00,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM TCH EFR parity. 

g(x) = x$^\wedge$8 + x$^\wedge$4 + x$^\wedge$3 + x$^\wedge$2 + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+decode()}, and \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+encode()}.

\mbox{\label{group__parity_ga0350aa3e044535a11692cb2dc55f5d9c}} 
\index{Parity@{Parity}!gsm0503\_tch\_fr\_crc3@{gsm0503\_tch\_fr\_crc3}}
\index{gsm0503\_tch\_fr\_crc3@{gsm0503\_tch\_fr\_crc3}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_tch\_fr\_crc3\hspace{0.1cm}{\footnotesize\ttfamily [1/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+tch\+\_\+fr\+\_\+crc3\hspace{0.3cm}{\ttfamily [extern]}}



GSM TCH FR/\+HR/\+EFR parity. 

g(x) = x$^\wedge$3 + x + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+decode()}, \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+encode()}, \textbf{ gsm0503\+\_\+tch\+\_\+hr\+\_\+decode2()}, and \textbf{ gsm0503\+\_\+tch\+\_\+hr\+\_\+encode()}.

\mbox{\label{group__parity_ga0350aa3e044535a11692cb2dc55f5d9c}} 
\index{Parity@{Parity}!gsm0503\_tch\_fr\_crc3@{gsm0503\_tch\_fr\_crc3}}
\index{gsm0503\_tch\_fr\_crc3@{gsm0503\_tch\_fr\_crc3}!Parity@{Parity}}
\doxysubsubsection{gsm0503\_tch\_fr\_crc3\hspace{0.1cm}{\footnotesize\ttfamily [2/2]}}
{\footnotesize\ttfamily const struct \textbf{ osmo\+\_\+crc8gen\+\_\+code} gsm0503\+\_\+tch\+\_\+fr\+\_\+crc3}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .bits = 3,}
\DoxyCodeLine{        .poly = 0x3,}
\DoxyCodeLine{        .init = 0x0,}
\DoxyCodeLine{        .remainder = 0x7,}
\DoxyCodeLine{\}}

\end{DoxyCode}


GSM TCH FR/\+HR/\+EFR parity. 

g(x) = x$^\wedge$3 + x + 1 

Referenced by \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+decode()}, \textbf{ gsm0503\+\_\+tch\+\_\+fr\+\_\+encode()}, \textbf{ gsm0503\+\_\+tch\+\_\+hr\+\_\+decode2()}, and \textbf{ gsm0503\+\_\+tch\+\_\+hr\+\_\+encode()}.

