Several enhancements to gr-trellis and gnuradio-examples/python/channel-coding:
[debian/gnuradio] / gr-trellis / src / lib / trellis_permutation.h
index 815ed397683e642577c8bd10c7f572959d701758..39c5b7c9c37bc8d266c7469eaa15a6d7f50294c6 100644 (file)
@@ -30,7 +30,7 @@
 class trellis_permutation;
 typedef boost::shared_ptr<trellis_permutation> trellis_permutation_sptr;
 
-trellis_permutation_sptr trellis_make_permutation (const int K, const std::vector<int> &TABLE, const size_t NBYTES);
+trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT);
 
 /*!
  * \brief Permutation.
@@ -41,16 +41,18 @@ trellis_permutation_sptr trellis_make_permutation (const int K, const std::vecto
 class trellis_permutation : public gr_sync_block
 {
 private:
-  friend trellis_permutation_sptr trellis_make_permutation (const int K, const std::vector<int> &TABLE, const size_t NBYTES);
+  friend trellis_permutation_sptr trellis_make_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES_INOUT);
   int d_K;
   std::vector<int> d_TABLE;
-  size_t d_NBYTES;
-  trellis_permutation (const int K, const std::vector<int> &TABLE, const size_t NBYTES); 
+  int d_SYMS_PER_BLOCK;
+  size_t d_NBYTES_INOUT;
+  trellis_permutation (int K, const std::vector<int> &TABLE, int SYMS_PER_BLOCK, size_t NBYTES); 
 
 public:
   int K () const { return d_K; }
   const std::vector<int> & TABLE () const { return d_TABLE; }
-  size_t NBYTES () const { return d_NBYTES; }
+  int SYMS_PER_BLOCK () const { return d_SYMS_PER_BLOCK; }
+  size_t NBYTES_INOUT () const { return d_NBYTES_INOUT; }
 
   int work (int noutput_items,
            gr_vector_const_void_star &input_items,