diff options
author | Tom Rondeau <tom@trondeau.com> | 2013-07-24 12:53:26 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2013-07-24 12:53:26 -0400 |
commit | 9afbfef48de723d08d15e44d1bbbbf3e0d4ff522 (patch) | |
tree | d8322afa48c56960ded1805d113a01bdd87cdf34 /gr-blocks/lib | |
parent | e6da0697c947b6c2e8def3ef1f75706f11ae9aa3 (diff) |
blocks: moved type conversions to use Volk dispatchers.
Diffstat (limited to 'gr-blocks/lib')
-rw-r--r-- | gr-blocks/lib/char_to_short_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/complex_to_float_impl.cc | 19 | ||||
-rw-r--r-- | gr-blocks/lib/complex_to_imag_impl.cc | 9 | ||||
-rw-r--r-- | gr-blocks/lib/complex_to_mag_squared_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/complex_to_real_impl.cc | 9 | ||||
-rw-r--r-- | gr-blocks/lib/float_to_char_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/float_to_int_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/float_to_short_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/int_to_float_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/short_to_char_impl.cc | 7 | ||||
-rw-r--r-- | gr-blocks/lib/short_to_float_impl.cc | 8 |
11 files changed, 13 insertions, 81 deletions
diff --git a/gr-blocks/lib/char_to_short_impl.cc b/gr-blocks/lib/char_to_short_impl.cc index 2b5414d673..065fb58bbe 100644 --- a/gr-blocks/lib/char_to_short_impl.cc +++ b/gr-blocks/lib/char_to_short_impl.cc @@ -55,12 +55,7 @@ namespace gr { const int8_t *in = (const int8_t *) input_items[0]; int16_t *out = (int16_t *) output_items[0]; - if(is_unaligned()) { - volk_8i_convert_16i_u(out, in, d_vlen*noutput_items); - } - else { - volk_8i_convert_16i_a(out, in, d_vlen*noutput_items); - } + volk_8i_convert_16i(out, in, d_vlen*noutput_items); return noutput_items; } diff --git a/gr-blocks/lib/complex_to_float_impl.cc b/gr-blocks/lib/complex_to_float_impl.cc index d0b2bc6b9c..ee295dea12 100644 --- a/gr-blocks/lib/complex_to_float_impl.cc +++ b/gr-blocks/lib/complex_to_float_impl.cc @@ -59,27 +59,12 @@ namespace gr { switch (output_items.size ()){ case 1: - if(is_unaligned()) { - for (int i = 0; i < noi; i++){ - out0[i] = in[i].real (); - } - } - else { - volk_32fc_deinterleave_real_32f_a(out0, in, noi); - } + volk_32fc_deinterleave_real_32f(out0, in, noi); break; case 2: out1 = (float *) output_items[1]; - if(is_unaligned()) { - for (int i = 0; i < noi; i++){ - out0[i] = in[i].real (); - out1[i] = in[i].imag (); - } - } - else { - volk_32fc_deinterleave_32f_x2_a(out0, out1, in, noi); - } + volk_32fc_deinterleave_32f_x2(out0, out1, in, noi); break; default: diff --git a/gr-blocks/lib/complex_to_imag_impl.cc b/gr-blocks/lib/complex_to_imag_impl.cc index 27d349aa1d..b58b59bb3b 100644 --- a/gr-blocks/lib/complex_to_imag_impl.cc +++ b/gr-blocks/lib/complex_to_imag_impl.cc @@ -56,14 +56,7 @@ namespace gr { float *out = (float *) output_items[0]; int noi = noutput_items * d_vlen; - if(is_unaligned()) { - for (int i = 0; i < noi; i++){ - out[i] = in[i].imag (); - } - } - else { - volk_32fc_deinterleave_imag_32f_a(out, in, noi); - } + volk_32fc_deinterleave_imag_32f(out, in, noi); return noutput_items; } diff --git a/gr-blocks/lib/complex_to_mag_squared_impl.cc b/gr-blocks/lib/complex_to_mag_squared_impl.cc index 513527c25a..5e3fedc87c 100644 --- a/gr-blocks/lib/complex_to_mag_squared_impl.cc +++ b/gr-blocks/lib/complex_to_mag_squared_impl.cc @@ -56,12 +56,7 @@ namespace gr { float *out = (float *) output_items[0]; int noi = noutput_items * d_vlen; - if(is_unaligned()) { - volk_32fc_magnitude_squared_32f_u(out, in, noi); - } - else { - volk_32fc_magnitude_squared_32f_a(out, in, noi); - } + volk_32fc_magnitude_squared_32f(out, in, noi); return noutput_items; } diff --git a/gr-blocks/lib/complex_to_real_impl.cc b/gr-blocks/lib/complex_to_real_impl.cc index 06d1b5ab0e..36c4b203d8 100644 --- a/gr-blocks/lib/complex_to_real_impl.cc +++ b/gr-blocks/lib/complex_to_real_impl.cc @@ -56,14 +56,7 @@ namespace gr { float *out = (float *) output_items[0]; int noi = noutput_items * d_vlen; - if(is_unaligned()) { - for (int i = 0; i < noi; i++){ - out[i] = in[i].real (); - } - } - else { - volk_32fc_deinterleave_real_32f_a(out, in, noi); - } + volk_32fc_deinterleave_real_32f(out, in, noi); return noutput_items; } diff --git a/gr-blocks/lib/float_to_char_impl.cc b/gr-blocks/lib/float_to_char_impl.cc index cec95cb66b..f51f08455c 100644 --- a/gr-blocks/lib/float_to_char_impl.cc +++ b/gr-blocks/lib/float_to_char_impl.cc @@ -55,12 +55,7 @@ namespace gr { const float *in = (const float *) input_items[0]; int8_t *out = (int8_t *) output_items[0]; - if(is_unaligned()) { - volk_32f_s32f_convert_8i_u(out, in, d_scale, d_vlen*noutput_items); - } - else { - volk_32f_s32f_convert_8i_a(out, in, d_scale, d_vlen*noutput_items); - } + volk_32f_s32f_convert_8i(out, in, d_scale, d_vlen*noutput_items); return noutput_items; } diff --git a/gr-blocks/lib/float_to_int_impl.cc b/gr-blocks/lib/float_to_int_impl.cc index 04db8bed2f..7b4522068b 100644 --- a/gr-blocks/lib/float_to_int_impl.cc +++ b/gr-blocks/lib/float_to_int_impl.cc @@ -62,12 +62,7 @@ namespace gr { const float *in = (const float *) input_items[0]; int32_t *out = (int32_t *) output_items[0]; - if(is_unaligned()) { - volk_32f_s32f_convert_32i_u(out, in, d_scale, d_vlen*noutput_items); - } - else { - volk_32f_s32f_convert_32i_a(out, in, d_scale, d_vlen*noutput_items); - } + volk_32f_s32f_convert_32i(out, in, d_scale, d_vlen*noutput_items); #else const float *in = (const float *) input_items[0]; int *out = (int *) output_items[0]; diff --git a/gr-blocks/lib/float_to_short_impl.cc b/gr-blocks/lib/float_to_short_impl.cc index 6c6b5607a9..791519002f 100644 --- a/gr-blocks/lib/float_to_short_impl.cc +++ b/gr-blocks/lib/float_to_short_impl.cc @@ -55,12 +55,7 @@ namespace gr { const float *in = (const float *) input_items[0]; short *out = (short *) output_items[0]; - if(is_unaligned()) { - volk_32f_s32f_convert_16i_u(out, in, d_scale, d_vlen*noutput_items); - } - else { - volk_32f_s32f_convert_16i_a(out, in, d_scale, d_vlen*noutput_items); - } + volk_32f_s32f_convert_16i(out, in, d_scale, d_vlen*noutput_items); return noutput_items; } diff --git a/gr-blocks/lib/int_to_float_impl.cc b/gr-blocks/lib/int_to_float_impl.cc index 306a6f169d..ec215c446b 100644 --- a/gr-blocks/lib/int_to_float_impl.cc +++ b/gr-blocks/lib/int_to_float_impl.cc @@ -55,12 +55,7 @@ namespace gr { const int32_t *in = (const int32_t *) input_items[0]; float *out = (float *) output_items[0]; - if(is_unaligned()) { - volk_32i_s32f_convert_32f_u(out, in, d_scale, d_vlen*noutput_items); - } - else { - volk_32i_s32f_convert_32f_a(out, in, d_scale, d_vlen*noutput_items); - } + volk_32i_s32f_convert_32f(out, in, d_scale, d_vlen*noutput_items); return noutput_items; } diff --git a/gr-blocks/lib/short_to_char_impl.cc b/gr-blocks/lib/short_to_char_impl.cc index f4a5c80c32..982ed5c20e 100644 --- a/gr-blocks/lib/short_to_char_impl.cc +++ b/gr-blocks/lib/short_to_char_impl.cc @@ -55,12 +55,7 @@ namespace gr { const int16_t *in = (const int16_t *) input_items[0]; int8_t *out = (int8_t *) output_items[0]; - if(is_unaligned()) { - volk_16i_convert_8i_u(out, in, d_vlen*noutput_items); - } - else { - volk_16i_convert_8i_a(out, in, d_vlen*noutput_items); - } + volk_16i_convert_8i(out, in, d_vlen*noutput_items); return noutput_items; } diff --git a/gr-blocks/lib/short_to_float_impl.cc b/gr-blocks/lib/short_to_float_impl.cc index 147b0c07f4..fce0da77b3 100644 --- a/gr-blocks/lib/short_to_float_impl.cc +++ b/gr-blocks/lib/short_to_float_impl.cc @@ -55,12 +55,8 @@ namespace gr { const short *in = (const short *) input_items[0]; float *out = (float *) output_items[0]; - if(is_unaligned()) { - volk_16i_s32f_convert_32f_u(out, in, d_scale, d_vlen*noutput_items); - } - else { - volk_16i_s32f_convert_32f_a(out, in, d_scale, d_vlen*noutput_items); - } + volk_16i_s32f_convert_32f(out, in, d_scale, d_vlen*noutput_items); + return noutput_items; } |