diff options
author | Marcus Müller <mueller@kit.edu> | 2017-09-26 09:14:14 +0200 |
---|---|---|
committer | Marcus Müller <mueller@kit.edu> | 2017-09-26 09:14:14 +0200 |
commit | e9bca98bf6949b710f293a6874dba6f58c979cfb (patch) | |
tree | 7553ba61d80bb3442811e44025bf44661ce8c549 | |
parent | af42b61939e1a33015339392dfca85a14bad3606 (diff) | |
parent | 5cfa4f51c5ee3d06391aa12b80cbe01326bdc831 (diff) |
Merge branch 'blocks_moving_average_vector_operation' of https://github.com/marcusmueller/gnuradio into blocks_moving_average_vector_operation
-rw-r--r-- | gr-blocks/lib/moving_average_XX_impl.cc.t | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/gr-blocks/lib/moving_average_XX_impl.cc.t b/gr-blocks/lib/moving_average_XX_impl.cc.t index bfb878e7bf..2e70ab4cc0 100644 --- a/gr-blocks/lib/moving_average_XX_impl.cc.t +++ b/gr-blocks/lib/moving_average_XX_impl.cc.t @@ -103,8 +103,8 @@ namespace gr { unsigned int num_iter = (unsigned int)((noutput_items>d_max_iter) ? d_max_iter : noutput_items); if(d_vlen == 1) { - @I_TYPE@ sum = 0; - for(unsigned int i = 0; i < d_length-1; i++) { + @I_TYPE@ sum = in[0]; + for(unsigned int i = 1; i < d_length-1; i++) { sum += in[i]; } @@ -115,10 +115,12 @@ namespace gr { } } else { // d_vlen > 1 - //TODO: VOLKize this zeroing? - std::fill(d_sum.begin(), d_sum.end(), (@I_TYPE@)0); + //gets automatically optimized well + for(unsigned int elem = 0; elem < d_vlen; elem++) { + d_sum[elem] = in[elem]; + } - for(unsigned int i = 0; i < d_length - 1; i++) { + for(unsigned int i = 1; i < d_length - 1; i++) { for(unsigned int elem = 0; elem < d_vlen; elem++) { d_sum[elem] += in[i*d_vlen + elem]; } |