summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Müller <mueller@kit.edu>2017-09-26 09:14:14 +0200
committerMarcus Müller <mueller@kit.edu>2017-09-26 09:14:14 +0200
commite9bca98bf6949b710f293a6874dba6f58c979cfb (patch)
tree7553ba61d80bb3442811e44025bf44661ce8c549
parentaf42b61939e1a33015339392dfca85a14bad3606 (diff)
parent5cfa4f51c5ee3d06391aa12b80cbe01326bdc831 (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.t12
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];
}