summaryrefslogtreecommitdiff
path: root/gr-blocks/lib
diff options
context:
space:
mode:
authorTom Rondeau <tom@trondeau.com>2013-07-24 12:53:26 -0400
committerTom Rondeau <tom@trondeau.com>2013-07-24 12:53:26 -0400
commit9afbfef48de723d08d15e44d1bbbbf3e0d4ff522 (patch)
treed8322afa48c56960ded1805d113a01bdd87cdf34 /gr-blocks/lib
parente6da0697c947b6c2e8def3ef1f75706f11ae9aa3 (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.cc7
-rw-r--r--gr-blocks/lib/complex_to_float_impl.cc19
-rw-r--r--gr-blocks/lib/complex_to_imag_impl.cc9
-rw-r--r--gr-blocks/lib/complex_to_mag_squared_impl.cc7
-rw-r--r--gr-blocks/lib/complex_to_real_impl.cc9
-rw-r--r--gr-blocks/lib/float_to_char_impl.cc7
-rw-r--r--gr-blocks/lib/float_to_int_impl.cc7
-rw-r--r--gr-blocks/lib/float_to_short_impl.cc7
-rw-r--r--gr-blocks/lib/int_to_float_impl.cc7
-rw-r--r--gr-blocks/lib/short_to_char_impl.cc7
-rw-r--r--gr-blocks/lib/short_to_float_impl.cc8
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;
}