diff options
Diffstat (limited to 'gr-blocks/lib/complex_to_magphase_impl.cc')
-rw-r--r-- | gr-blocks/lib/complex_to_magphase_impl.cc | 66 |
1 files changed, 32 insertions, 34 deletions
diff --git a/gr-blocks/lib/complex_to_magphase_impl.cc b/gr-blocks/lib/complex_to_magphase_impl.cc index 8c914f756b..dd72c8e9c8 100644 --- a/gr-blocks/lib/complex_to_magphase_impl.cc +++ b/gr-blocks/lib/complex_to_magphase_impl.cc @@ -30,44 +30,42 @@ #include <gnuradio/math.h> namespace gr { - namespace blocks { +namespace blocks { - complex_to_magphase::sptr complex_to_magphase::make(size_t vlen) - { - return gnuradio::get_initial_sptr(new complex_to_magphase_impl(vlen)); - } - - complex_to_magphase_impl::complex_to_magphase_impl(size_t vlen) - : sync_block("complex_to_magphase", - io_signature::make (1, 1, sizeof(gr_complex)*vlen), - io_signature::make (2, 2, sizeof(float)*vlen)), - d_vlen(vlen) - { - const int alignment_multiple = - volk_get_alignment() / sizeof(float); - set_alignment(std::max(1,alignment_multiple)); - } +complex_to_magphase::sptr complex_to_magphase::make(size_t vlen) +{ + return gnuradio::get_initial_sptr(new complex_to_magphase_impl(vlen)); +} - int - complex_to_magphase_impl::work(int noutput_items, - gr_vector_const_void_star &input_items, - gr_vector_void_star &output_items) - { - const gr_complex *in = (const gr_complex *) input_items[0]; - float *out0 = (float *) output_items[0]; - float* out1 = (float *) output_items[1]; - int noi = noutput_items * d_vlen; +complex_to_magphase_impl::complex_to_magphase_impl(size_t vlen) + : sync_block("complex_to_magphase", + io_signature::make(1, 1, sizeof(gr_complex) * vlen), + io_signature::make(2, 2, sizeof(float) * vlen)), + d_vlen(vlen) +{ + const int alignment_multiple = volk_get_alignment() / sizeof(float); + set_alignment(std::max(1, alignment_multiple)); +} - volk_32fc_magnitude_32f_u(out0, in, noi); +int complex_to_magphase_impl::work(int noutput_items, + gr_vector_const_void_star& input_items, + gr_vector_void_star& output_items) +{ + const gr_complex* in = (const gr_complex*)input_items[0]; + float* out0 = (float*)output_items[0]; + float* out1 = (float*)output_items[1]; + int noi = noutput_items * d_vlen; - // The fast_atan2f is faster than Volk - for (int i = 0; i < noi; i++){ - // out[i] = std::arg (in[i]); - out1[i] = gr::fast_atan2f(in[i]); - } + volk_32fc_magnitude_32f_u(out0, in, noi); - return noutput_items; + // The fast_atan2f is faster than Volk + for (int i = 0; i < noi; i++) { + // out[i] = std::arg (in[i]); + out1[i] = gr::fast_atan2f(in[i]); } - } /* namespace blocks */ -}/* namespace gr */ + return noutput_items; +} + +} /* namespace blocks */ +} /* namespace gr */ |