From 0f9ca82684a187be6b0165426ffd76be893aa995 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Fri, 2 Mar 2018 16:13:37 +0100 Subject: Remove interpolation unit-test (fails to compile) Ardour vari-speed does no longer use ARDOUR::CubicInterpolation and LinearInterpolation was removed. vari-speed is now using zita-resampler. --- libs/ardour/test/interpolation_test.cc | 172 --------------------------------- libs/ardour/test/interpolation_test.h | 61 ------------ 2 files changed, 233 deletions(-) delete mode 100644 libs/ardour/test/interpolation_test.cc delete mode 100644 libs/ardour/test/interpolation_test.h (limited to 'libs/ardour/test') diff --git a/libs/ardour/test/interpolation_test.cc b/libs/ardour/test/interpolation_test.cc deleted file mode 100644 index c9fae7e64f..0000000000 --- a/libs/ardour/test/interpolation_test.cc +++ /dev/null @@ -1,172 +0,0 @@ -#include -#include "interpolation_test.h" - -CPPUNIT_TEST_SUITE_REGISTRATION(InterpolationTest); - -using namespace std; -using namespace ARDOUR; - -void -InterpolationTest::linearInterpolationTest () -{ - samplecnt_t result = 0; -// cout << "\nLinear Interpolation Test\n"; - -// cout << "\nSpeed: 1/3"; - for (int i = 0; 3*i < NUM_SAMPLES - 1024;) { - linear.set_speed (double(1.0)/double(3.0)); - linear.set_target_speed (double(1.0)/double(3.0)); - result = linear.interpolate (0, 1024, input + i, output + i*3); - i += result; - } - -// cout << "\nSpeed: 1.0"; - linear.reset(); - linear.set_speed (1.0); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * linear.speed()), result); - for (int i = 0; i < NUM_SAMPLES; i += INTERVAL) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 0.5"; - linear.reset(); - linear.set_speed (0.5); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * linear.speed()), result); - for (int i = 0; i < NUM_SAMPLES; i += (INTERVAL / linear.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 0.2"; - linear.reset(); - linear.set_speed (0.2); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * linear.speed()), result); - -// cout << "\nSpeed: 0.02"; - linear.reset(); - linear.set_speed (0.02); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * linear.speed()), result); - -// cout << "\nSpeed: 0.002"; - linear.reset(); - linear.set_speed (0.002); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES, input, output); - linear.speed(); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * linear.speed()), result); - -// cout << "\nSpeed: 2.0"; - linear.reset(); - linear.set_speed (2.0); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES / 2, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES / 2 * linear.speed()), result); - for (int i = 0; i < NUM_SAMPLES / 2; i += (INTERVAL / linear.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 10.0"; - linear.set_speed (10.0); - linear.set_target_speed (linear.speed()); - result = linear.interpolate (0, NUM_SAMPLES / 10, input, output); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES / 10 * linear.speed()), result); - for (int i = 0; i < NUM_SAMPLES / 10; i += (INTERVAL / linear.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - /* - for (int i=0; i < NUM_SAMPLES; ++i) { - cout << i << " " << output[i] << endl; - } - */ -} - -void -InterpolationTest::cubicInterpolationTest () -{ - samplecnt_t result = 0; -// cout << "\nCubic Interpolation Test\n"; - -// cout << "\nSpeed: 1/3"; - for (int i = 0; 3*i < NUM_SAMPLES - 1024;) { - cubic.set_speed (double(1.0)/double(3.0)); - cubic.set_target_speed (double(1.0)/double(3.0)); - result = cubic.interpolate (0, 1024, input + i, output + i*3); - i += result; - } - -// cout << "\nSpeed: 1.0"; - cubic.reset(); - cubic.set_speed (1.0); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * cubic.speed()), result); - for (int i = 0; i < NUM_SAMPLES; i += INTERVAL) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 0.5"; - cubic.reset(); - cubic.set_speed (0.5); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * cubic.speed()), result); - for (int i = 0; i < NUM_SAMPLES; i += (INTERVAL / cubic.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 0.2"; - cubic.reset(); - cubic.set_speed (0.2); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * cubic.speed()), result); - -// cout << "\nSpeed: 0.02"; - cubic.reset(); - cubic.set_speed (0.02); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * cubic.speed()), result); - - /* This one fails due too error accumulation - cout << "\nSpeed: 0.002"; - cubic.reset(); - cubic.set_speed (0.002); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES, input, output); - cubic.speed(); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES * cubic.speed()), result); - */ - -// cout << "\nSpeed: 2.0"; - cubic.reset(); - cubic.set_speed (2.0); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES / 2, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES / 2, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES / 2 * cubic.speed()), result); - for (int i = 0; i < NUM_SAMPLES / 2; i += (INTERVAL / cubic.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } - -// cout << "\nSpeed: 10.0"; - cubic.set_speed (10.0); - cubic.set_target_speed (cubic.speed()); - result = cubic.interpolate (0, NUM_SAMPLES / 10, input, output); - CPPUNIT_ASSERT_EQUAL (result, cubic.interpolate (0, NUM_SAMPLES / 10, NULL, NULL)); - CPPUNIT_ASSERT_EQUAL ((samplecnt_t)(NUM_SAMPLES / 10 * cubic.speed()), result); - for (int i = 0; i < NUM_SAMPLES / 10; i += (INTERVAL / cubic.speed() +0.5)) { - CPPUNIT_ASSERT_EQUAL (1.0f, output[i]); - } -} diff --git a/libs/ardour/test/interpolation_test.h b/libs/ardour/test/interpolation_test.h deleted file mode 100644 index a051990e85..0000000000 --- a/libs/ardour/test/interpolation_test.h +++ /dev/null @@ -1,61 +0,0 @@ -/* Copyright(C) 2000-2008 Paul Davis - * Author: Hans Baier - * - * Evoral is free software; you can redistribute it and/or modify it under the - * terms of the GNU General Public License as published by the Free Software - * Foundation; either version 2 of the License, or(at your option) any later - * version. - * - * Evoral is distributed in the hope that it will be useful, but WITHOUT ANY - * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS - * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - */ - -#include -#include -#include -#include - -#include "ardour/interpolation.h" - -class InterpolationTest : public CppUnit::TestFixture -{ - CPPUNIT_TEST_SUITE(InterpolationTest); - CPPUNIT_TEST(cubicInterpolationTest); - CPPUNIT_TEST(linearInterpolationTest); - CPPUNIT_TEST_SUITE_END(); - -#define NUM_SAMPLES 1000000 -#define INTERVAL 100 - - ARDOUR::Sample input[NUM_SAMPLES]; - ARDOUR::Sample output[NUM_SAMPLES]; - - ARDOUR::LinearInterpolation linear; - ARDOUR::CubicInterpolation cubic; - - public: - - void setUp() { - for (int i = 0; i < NUM_SAMPLES; ++i) { - if (i % INTERVAL == 0) { - input[i] = 1.0f; - } else { - input[i] = 0.0f; - } - output[i] = 0.0f; - } - linear.add_channel_to (NUM_SAMPLES, NUM_SAMPLES); - cubic.add_channel_to (NUM_SAMPLES, NUM_SAMPLES); - } - - void tearDown() { - } - - void linearInterpolationTest(); - void cubicInterpolationTest(); -}; -- cgit v1.2.3