summaryrefslogtreecommitdiff
path: root/gr-trellis/lib/metrics_X_impl.cc.t
diff options
context:
space:
mode:
Diffstat (limited to 'gr-trellis/lib/metrics_X_impl.cc.t')
-rw-r--r--gr-trellis/lib/metrics_X_impl.cc.t27
1 files changed, 26 insertions, 1 deletions
diff --git a/gr-trellis/lib/metrics_X_impl.cc.t b/gr-trellis/lib/metrics_X_impl.cc.t
index 499bd8b9cd..5e74e4b2fc 100644
--- a/gr-trellis/lib/metrics_X_impl.cc.t
+++ b/gr-trellis/lib/metrics_X_impl.cc.t
@@ -54,16 +54,40 @@ namespace gr {
set_output_multiple ((int)d_O);
}
- @IMPL_NAME@::~@IMPL_NAME@()
+ void @IMPL_NAME@::set_O(int O)
+ {
+ gr::thread::scoped_lock guard(d_setlock);
+ d_O = O;
+ set_relative_rate (1.0 * d_O / ((double) d_D));
+ set_output_multiple ((int)d_O);
+ }
+
+ void @IMPL_NAME@::set_D(int D)
+ {
+ gr::thread::scoped_lock guard(d_setlock);
+ d_D = D;
+ set_relative_rate (1.0 * d_O / ((double) d_D));
+ }
+
+ void
+ @IMPL_NAME@::set_TYPE(digital::trellis_metric_type_t type)
{
+ gr::thread::scoped_lock guard(d_setlock);
+ d_TYPE = type;
}
void
@IMPL_NAME@::set_TABLE(const std::vector<@I_TYPE@> &table)
{
+ gr::thread::scoped_lock guard(d_setlock);
d_TABLE = table;
}
+ @IMPL_NAME@::~@IMPL_NAME@()
+ {
+ }
+
+
void
@IMPL_NAME@::forecast(int noutput_items, gr_vector_int &ninput_items_required)
{
@@ -79,6 +103,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++) {