diff options
| -rw-r--r-- | src/leqm_nrt.cc | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/leqm_nrt.cc b/src/leqm_nrt.cc index 469890c..f170901 100644 --- a/src/leqm_nrt.cc +++ b/src/leqm_nrt.cc @@ -65,13 +65,15 @@ void worker_thread(std::vector<double>& buffer, int nsamples, int nch, std::vect }; auto convolve = [](std::vector<double> const& signal, std::vector<double> const& ir) { - std::vector<double> result(signal.size()); + auto const signal_size = signal.size(); + auto const ir_size = ir.size(); + std::vector<double> result(signal_size); double sum = 0.0; - for (auto i = 0U; i < signal.size(); i++) { + for (auto i = 0U; i < signal_size; i++) { auto m = i; - for (int l = ir.size()- 1; l >= 0; l--, m++) { - if (m >= signal.size()) { - m -= signal.size(); + for (int l = ir_size - 1; l >= 0; l--, m++) { + if (m >= signal_size) { + m -= signal_size; } sum += signal[m] * ir[l]; } @@ -82,9 +84,9 @@ void worker_thread(std::vector<double>& buffer, int nsamples, int nch, std::vect }; auto rectify = [](std::vector<double> const& input) { - std::vector<double> squared; - for (auto i: input) { - squared.push_back(pow(i, 2)); + std::vector<double> squared(input.size()); + for (auto i = 0U; i < input.size(); ++i) { + squared[i] = pow(input[i], 2); } return squared; }; |
