summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2009-10-27 16:18:13 +0000
committerDavid Robillard <d@drobilla.net>2009-10-27 16:18:13 +0000
commit96ca98c586b2c6f05b6b06af037243d36b2c0c44 (patch)
treedc6677ca0bcd4b17d4e694fbef060bd12c636c6f /libs
parent06ed0f4eaace216ada4cf919e3a12c7fc08cdef6 (diff)
Fix wacky indentation.
git-svn-id: svn://localhost/ardour2/branches/3.0@5945 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs')
-rw-r--r--libs/ardour/test/InterpolationTest.cpp304
-rw-r--r--libs/ardour/test/InterpolationTest.h77
2 files changed, 189 insertions, 192 deletions
diff --git a/libs/ardour/test/InterpolationTest.cpp b/libs/ardour/test/InterpolationTest.cpp
index ababe84cf7..7fd8a72f89 100644
--- a/libs/ardour/test/InterpolationTest.cpp
+++ b/libs/ardour/test/InterpolationTest.cpp
@@ -1,7 +1,7 @@
#include <sigc++/sigc++.h>
#include "InterpolationTest.h"
-CPPUNIT_TEST_SUITE_REGISTRATION( InterpolationTest );
+CPPUNIT_TEST_SUITE_REGISTRATION(InterpolationTest);
using namespace std;
using namespace ARDOUR;
@@ -9,162 +9,160 @@ using namespace ARDOUR;
void
InterpolationTest::linearInterpolationTest ()
{
- nframes_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 ((uint32_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 ((uint32_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 ((uint32_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 ((uint32_t)(NUM_SAMPLES * linear.speed()), result);
-
- /* This one fails due too error accumulation
- 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 ((nframes_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 ((uint32_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 ((uint32_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;
- }
- */
+ nframes_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 ((uint32_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 ((uint32_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 ((uint32_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 ((uint32_t)(NUM_SAMPLES * linear.speed()), result);
+
+ /* This one fails due too error accumulation
+ 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 ((nframes_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 ((uint32_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 ((uint32_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 ()
{
- nframes_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 ((uint32_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 ((uint32_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 ((uint32_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 ((uint32_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 ((nframes_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 ((uint32_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 ((uint32_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]);
- }
-}
+ nframes_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 ((uint32_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 ((uint32_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 ((uint32_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 ((uint32_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 ((nframes_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 ((uint32_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 ((uint32_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/InterpolationTest.h b/libs/ardour/test/InterpolationTest.h
index 639c8fc956..a051990e85 100644
--- a/libs/ardour/test/InterpolationTest.h
+++ b/libs/ardour/test/InterpolationTest.h
@@ -1,16 +1,15 @@
-/*
- * Copyright(C) 2000-2008 Paul Davis
+/* 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
@@ -25,38 +24,38 @@
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();
+ 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();
};