diff options
Diffstat (limited to 'gr-analog/lib/rail_ff_impl.cc')
-rw-r--r-- | gr-analog/lib/rail_ff_impl.cc | 91 |
1 files changed, 42 insertions, 49 deletions
diff --git a/gr-analog/lib/rail_ff_impl.cc b/gr-analog/lib/rail_ff_impl.cc index 525cf0c76e..75c67875ac 100644 --- a/gr-analog/lib/rail_ff_impl.cc +++ b/gr-analog/lib/rail_ff_impl.cc @@ -29,63 +29,56 @@ #include <gnuradio/math.h> namespace gr { - namespace analog { +namespace analog { - rail_ff::sptr - rail_ff::make(float lo, float hi) - { - return gnuradio::get_initial_sptr - (new rail_ff_impl(lo, hi)); - } - - rail_ff_impl::rail_ff_impl(float lo, float hi) - : sync_block("rail_ff", - io_signature::make(1, 1, sizeof(float)), - io_signature::make(1, 1, sizeof(float))), - d_lo(lo), d_hi(hi) - { - set_clipping(); - } +rail_ff::sptr rail_ff::make(float lo, float hi) +{ + return gnuradio::get_initial_sptr(new rail_ff_impl(lo, hi)); +} - rail_ff_impl::~rail_ff_impl() - { - } +rail_ff_impl::rail_ff_impl(float lo, float hi) + : sync_block("rail_ff", + io_signature::make(1, 1, sizeof(float)), + io_signature::make(1, 1, sizeof(float))), + d_lo(lo), + d_hi(hi) +{ + set_clipping(); +} - void - rail_ff_impl::set_lo(float lo) - { - d_lo = lo; - set_clipping(); - } +rail_ff_impl::~rail_ff_impl() {} - void - rail_ff_impl::set_hi(float hi) - { - d_hi = hi; - set_clipping(); - } +void rail_ff_impl::set_lo(float lo) +{ + d_lo = lo; + set_clipping(); +} - void - rail_ff_impl::set_clipping() - { - d_mid = (d_lo + d_hi)/2; - d_clip = d_hi - d_mid; - } +void rail_ff_impl::set_hi(float hi) +{ + d_hi = hi; + set_clipping(); +} - int - rail_ff_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const float *in = (const float*)input_items[0]; - float *out = (float*)output_items[0]; +void rail_ff_impl::set_clipping() +{ + d_mid = (d_lo + d_hi) / 2; + d_clip = d_hi - d_mid; +} - for(int i = 0; i < noutput_items; i++) { - out[i] = d_mid + gr::branchless_clip(in[i] - d_mid, d_clip); - } +int rail_ff_impl::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + const float* in = (const float*)input_items[0]; + float* out = (float*)output_items[0]; - return noutput_items; + for (int i = 0; i < noutput_items; i++) { + out[i] = d_mid + gr::branchless_clip(in[i] - d_mid, d_clip); } - } /* namespace analog */ + return noutput_items; +} + +} /* namespace analog */ } /* namespace gr */ |