aboutsummaryrefslogtreecommitdiff
path: root/tests/xttest_util.cpp
diff options
context:
space:
mode:
authorJamie Bullock <jamie@jamiebullock.com>2014-11-11 17:30:17 +0000
committerJamie Bullock <jamie@jamiebullock.com>2014-11-11 17:30:17 +0000
commitb3b6e6fd6b39e7f2bbbd8e2209302590d6d155eb (patch)
tree1e6aa9e0feb6ce30749bc9fa52dacb424378ba75 /tests/xttest_util.cpp
parent25a004e7c9d70ddf16e044536871cba2f818936d (diff)
downloadLibXtract-b3b6e6fd6b39e7f2bbbd8e2209302590d6d155eb.tar.gz
LibXtract-b3b6e6fd6b39e7f2bbbd8e2209302590d6d155eb.tar.bz2
LibXtract-b3b6e6fd6b39e7f2bbbd8e2209302590d6d155eb.zip
Add sawtooth tests
Diffstat (limited to 'tests/xttest_util.cpp')
-rw-r--r--tests/xttest_util.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/xttest_util.cpp b/tests/xttest_util.cpp
index 47fbf8a..c10ff53 100644
--- a/tests/xttest_util.cpp
+++ b/tests/xttest_util.cpp
@@ -22,6 +22,17 @@ void xttest_gen_sine(double *table, uint32_t tablesize, double samplerate, doubl
}
}
+void xttest_gen_sawtooth(double *table, uint32_t tablesize, double samplerate, double frequency, double amplitude)
+{
+ int samples_per_period = samplerate / frequency;
+
+ for (uint32_t i = 0; i < tablesize; ++i)
+ {
+ int phase = i % samples_per_period;
+ table[i] = ((phase / (double)samples_per_period) * 2.0 - 1.0) * amplitude;
+ }
+}
+
void xttest_gen_noise(double *table, uint32_t tablesize, double amplitude)
{
for (uint32_t i = 0; i < tablesize; ++i)
@@ -30,7 +41,6 @@ void xttest_gen_noise(double *table, uint32_t tablesize, double amplitude)
}
}
-
uint16_t xttest_ftom(double frequency)
{
return (int)roundf(6900.0 + 1200.0 * log2(frequency / 440.0));