summaryrefslogtreecommitdiff
path: root/gr-analog/lib/rail_ff_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gr-analog/lib/rail_ff_impl.cc')
-rw-r--r--gr-analog/lib/rail_ff_impl.cc91
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 */