diff options
Diffstat (limited to 'gr-trellis/lib/permutation_impl.cc')
-rw-r--r-- | gr-trellis/lib/permutation_impl.cc | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/gr-trellis/lib/permutation_impl.cc b/gr-trellis/lib/permutation_impl.cc index 06bba1e11f..2fe0ea8cb8 100644 --- a/gr-trellis/lib/permutation_impl.cc +++ b/gr-trellis/lib/permutation_impl.cc @@ -49,10 +49,30 @@ namespace gr { d_SYMS_PER_BLOCK(SYMS_PER_BLOCK), d_BYTES_PER_SYMBOL(BYTES_PER_SYMBOL) { - set_output_multiple(d_K*SYMS_PER_BLOCK); + set_output_multiple(d_K*d_SYMS_PER_BLOCK); //std::cout << d_K << "\n"; } + void permutation_impl::set_K(int K) + { + gr::thread::scoped_lock guard(d_setlock); + d_K=K; + set_output_multiple(d_K*d_SYMS_PER_BLOCK); + } + + void permutation_impl::set_TABLE (const std::vector<int> &table) + { + gr::thread::scoped_lock guard(d_setlock); + d_TABLE = table; + } + + void permutation_impl::set_SYMS_PER_BLOCK(int spb) + { + gr::thread::scoped_lock guard(d_setlock); + d_SYMS_PER_BLOCK=spb; + set_output_multiple(d_K*d_SYMS_PER_BLOCK); + } + permutation_impl::~permutation_impl() { } @@ -62,6 +82,7 @@ namespace gr { gr_vector_const_void_star &input_items, gr_vector_void_star &output_items) { + gr::thread::scoped_lock guard(d_setlock); int nstreams = input_items.size(); for(int m=0;m<nstreams;m++) { |