\doxysection{include/osmocom/gmr1/l1/punct.h File Reference}
\label{punct_8h}\index{include/osmocom/gmr1/l1/punct.h@{include/osmocom/gmr1/l1/punct.h}}


Osmocom GMR-\/1 puncturing header.  


{\ttfamily \#include $<$stdint.\+h$>$}\newline
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ gmr1\+\_\+puncturer}
\begin{DoxyCompactList}\small\item\em structure describing a puncturing code \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \textbf{ gmr1\+\_\+puncturer\+\_\+generate} (struct osmo\+\_\+conv\+\_\+code $\ast$code, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+pre, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+main, const struct \textbf{ gmr1\+\_\+puncturer} $\ast$punct\+\_\+post, int repeat)
\begin{DoxyCompactList}\small\item\em Generate convolutional code puncturing array for a osmo\+\_\+conv\+\_\+code. \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(2;5) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P311}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;11) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps412}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(4;12) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+Ps12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;2) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+A}
\begin{DoxyCompactList}\small\item\em GMR-\/1 A puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+B}
\begin{DoxyCompactList}\small\item\em GMR-\/1 B puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+C}
\begin{DoxyCompactList}\small\item\em GMR-\/1 C puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+D}
\begin{DoxyCompactList}\small\item\em GMR-\/1 D puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+E}
\begin{DoxyCompactList}\small\item\em GMR-\/1 E puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P38}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;8) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+12\+\_\+\+P37}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;7) puncturing code for the K=5 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P16}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;6) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P25}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+Ps15}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(1;5) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+13\+\_\+\+P78}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(7;8) puncturing code for the K=5 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+P53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k5\+\_\+15\+\_\+\+Ps53}
\begin{DoxyCompactList}\small\item\em GMR-\/1 Ps(5;3) puncturing code for the K=5 rate 1/5 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P23}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;3) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P410}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;10) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P512}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(5;12) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P116}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;16) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;48) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P184}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;84) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P1152}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;152) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k7\+\_\+12\+\_\+\+P245}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(4;5) puncturing code for the K=7 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P13}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;3) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P47}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P34}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P17}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;7) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P19}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;9) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P26}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(2;6) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P110}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;10) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P14}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+12\+\_\+\+P234}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P2(3;4) puncturing code for the K=9 rate 1/2 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k6\+\_\+14\+\_\+\+P45}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;5) puncturing code for the K=6 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P148}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(14;8) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+14\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/4 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P12}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(1;2) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P1213}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(12;13) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P44}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(4;4) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P33}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(3;3) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\item 
const struct \textbf{ gmr1\+\_\+puncturer} {\bfseries gmr1\+\_\+punct\+\_\+k9\+\_\+13\+\_\+\+P65}
\begin{DoxyCompactList}\small\item\em GMR-\/1 P(6;5) puncturing code for the K=9 rate 1/3 conv coder. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
Osmocom GMR-\/1 puncturing header. 

