Cleaning up the filters' compilation errors

This commit is contained in:
paulfd 2019-09-20 23:35:25 +02:00
parent 5250756fd1
commit bd8a565cef
2 changed files with 8 additions and 8 deletions

View file

@ -56,7 +56,7 @@ public:
auto in = input.begin();
auto out = lowpass.begin();
auto size = std::min(input.size(), lowpass.size());
auto sentinel = in.begin() + size;
auto sentinel = in + size;
while (in < sentinel) {
oneLowpass(in, out);
in++;
@ -70,7 +70,7 @@ public:
auto in = input.begin();
auto out = highpass.begin();
auto size = std::min(input.size(), highpass.size());
auto sentinel = in.begin() + size;
auto sentinel = in + size;
while (in < sentinel) {
oneHighpass(in, out);
in++;
@ -85,7 +85,7 @@ public:
auto out = lowpass.begin();
auto g = gain.begin();
auto size = min(input.size(), lowpass.size(), gain.size());
auto sentinel = in.begin() + size;
auto sentinel = in + size;
while (in < sentinel) {
setGain(*g);
oneLowpass(in, out);
@ -99,10 +99,10 @@ public:
auto out = highpass.begin();
auto g = gain.begin();
auto size = min(input.size(), highpass.size(), gain.size());
auto sentinel = in.begin() + size;
auto sentinel = in + size;
while (in < sentinel) {
setGain(*g);
oneHighpass(in, out);
oneLowpass(in, out);
}
return size;
}

View file

@ -24,9 +24,9 @@
#include "OnePoleFilter.h"
#include "catch2/catch.hpp"
#include "cnpy.h"
#include "../sfizz/compat/filesystem.h"
#include <absl/types/span.h>
#include <algorithm>
#include <filesystem>
#include <string>
using namespace Catch::literals;
@ -67,7 +67,7 @@ void testLowpass(const std::filesystem::path& inputNumpyFile, const std::filesys
for (auto& data : outputSpan)
expectedData.push_back(static_cast<Type>(data));
OnePoleFilter filter { gain };
OnePoleFilter<Type> filter { gain };
std::vector<Type> outputData(size);
filter.processLowpass(inputData, absl::MakeSpan(outputData));
REQUIRE(approxEqual(outputData, expectedData));
@ -102,7 +102,7 @@ void testHighpass(const std::filesystem::path& inputNumpyFile, const std::filesy
for (auto& data : outputSpan)
expectedData.push_back(static_cast<Type>(data));
OnePoleFilter filter { gain };
OnePoleFilter<Type> filter { gain };
std::vector<Type> outputData(size);
filter.processHighpass(inputData, absl::MakeSpan(outputData));
REQUIRE(approxEqual(outputData, expectedData));