diff options
Diffstat (limited to 'gr-blocks/lib/int_to_float_impl.cc')
-rw-r--r-- | gr-blocks/lib/int_to_float_impl.cc | 63 |
1 files changed, 31 insertions, 32 deletions
diff --git a/gr-blocks/lib/int_to_float_impl.cc b/gr-blocks/lib/int_to_float_impl.cc index 33b59e9f4b..64338ce1e5 100644 --- a/gr-blocks/lib/int_to_float_impl.cc +++ b/gr-blocks/lib/int_to_float_impl.cc @@ -29,35 +29,34 @@ #include <volk/volk.h> namespace gr { - namespace blocks { - - int_to_float::sptr int_to_float::make(size_t vlen, float scale) - { - return gnuradio::get_initial_sptr(new int_to_float_impl(vlen, scale)); - } - - int_to_float_impl::int_to_float_impl(size_t vlen, float scale) - : sync_block("int_to_float", - io_signature::make (1, 1, sizeof(int32_t)*vlen), - io_signature::make (1, 1, sizeof(float)*vlen)), - d_vlen(vlen), d_scale(scale) - { - const int alignment_multiple = - volk_get_alignment() / sizeof(float); - set_alignment(std::max(1, alignment_multiple)); - } - - int - int_to_float_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const int32_t *in = (const int32_t *) input_items[0]; - float *out = (float *) output_items[0]; - - volk_32i_s32f_convert_32f(out, in, d_scale, d_vlen*noutput_items); - - return noutput_items; - } - } /* namespace blocks */ -}/* namespace gr */ +namespace blocks { + +int_to_float::sptr int_to_float::make(size_t vlen, float scale) +{ + return gnuradio::get_initial_sptr(new int_to_float_impl(vlen, scale)); +} + +int_to_float_impl::int_to_float_impl(size_t vlen, float scale) + : sync_block("int_to_float", + io_signature::make(1, 1, sizeof(int32_t) * vlen), + io_signature::make(1, 1, sizeof(float) * vlen)), + d_vlen(vlen), + d_scale(scale) +{ + const int alignment_multiple = volk_get_alignment() / sizeof(float); + set_alignment(std::max(1, alignment_multiple)); +} + +int int_to_float_impl::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + const int32_t* in = (const int32_t*)input_items[0]; + float* out = (float*)output_items[0]; + + volk_32i_s32f_convert_32f(out, in, d_scale, d_vlen * noutput_items); + + return noutput_items; +} +} /* namespace blocks */ +} /* namespace gr */ |