Imported Upstream version 3.0
[debian/gnuradio] / gr-trellis / src / lib / interleaver.i
1 /* -*- c++ -*- */\r
2 /*\r
3  * Copyright 2002 Free Software Foundation, Inc.\r
4  *\r
5  * This file is part of GNU Radio\r
6  *\r
7  * GNU Radio is free software; you can redistribute it and/or modify\r
8  * it under the terms of the GNU General Public License as published by\r
9  * the Free Software Foundation; either version 2, or (at your option)\r
10  * any later version.\r
11  *\r
12  * GNU Radio is distributed in the hope that it will be useful,\r
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
15  * GNU General Public License for more details.\r
16  *\r
17  * You should have received a copy of the GNU General Public License\r
18  * along with GNU Radio; see the file COPYING.  If not, write to\r
19  * the Free Software Foundation, Inc., 51 Franklin Street,\r
20  * Boston, MA 02110-1301, USA.\r
21  */\r
22 \r
23 class interleaver {\r
24 private:\r
25   int d_K;\r
26   std::vector<int> d_INTER;\r
27   std::vector<int> d_DEINTER;\r
28 public:\r
29   interleaver();\r
30   interleaver(const interleaver & INTERLEAVER);\r
31   interleaver(int K, const std::vector<int> & INTER);\r
32   interleaver(const char *name);\r
33   interleaver(int K, unsigned int seed);\r
34   int K () const { return d_K; }\r
35   const std::vector<int> & INTER () const { return d_INTER; }\r
36   const std::vector<int> & DEINTER () const { return d_DEINTER; }\r
37 };\r