37 template <
typename InterpolatorType>
42 for (
size_t i = 0; i < destination.
size(); ++i)
45 destination[i] =
std::exp (-(x * x));
48 FloatVectorOperations::multiply (destination.
data(), scale, (
int) destination.
size());
64 expectEquals ((
int) v1.
size(), (
int) v2.
size());
66 for (
size_t i = 0; i < v1.
size(); ++i)
67 expectWithinAbsoluteError (v1[i], v2[i],
tolerance);
73 static_assert (
inputSize > 800 + InterpolatorType::getBaseLatency(),
74 "The test InterpolatorTests input buffer is too small");
83 for (
auto speedRatio : { 0.4, 0.8263, 1.0, 1.05, 1.2384, 1.6 })
90 for (
int numBlocks : { 1, 5 })
105 for (
int i = 0; i < numBlocks; ++i)
122 interpolator.reset();
130 for (
int i = 0; i < numBlocks; ++i)
151 interpolator.reset();
153 (
int) input.size(), 0);
162 interpolator.reset();
164 (
int) input.size(), (
int) input.size());
175 void runTest()
override
Type unalignedPointerCast(void *ptr) noexcept
Casts a pointer to another type via void*, which suppresses the cast-align warning which sometimes ar...