annotate tests/xttest_util.cpp @ 264:ecd6f2cf1346

Initial unit testing setup with an example test
author Jamie Bullock <jamie@jamiebullock.com>
date Mon, 10 Nov 2014 20:29:19 +0000
parents
children 41fe82c7ff80
rev   line source
jamie@264 1
jamie@264 2
jamie@264 3 #include "xttest_util.hpp"
jamie@264 4
jamie@264 5 #include <random>
jamie@264 6
jamie@264 7 #include <math.h>
jamie@264 8 #include <stdio.h>
jamie@264 9
jamie@264 10
jamie@264 11 #define XTTEST_2PI 6.28318530717958647693
jamie@264 12
jamie@264 13 void xttest_gen_sine(double *table, uint32_t tablesize, double samplerate, double frequency, double amplitude)
jamie@264 14 {
jamie@264 15 int samples_per_period = samplerate / frequency;
jamie@264 16
jamie@264 17 for (int i = 0; i < tablesize; ++i)
jamie@264 18 {
jamie@264 19 int phase = i % samples_per_period;
jamie@264 20 table[i] = sin((phase / (double)samples_per_period) * XTTEST_2PI) * amplitude;
jamie@264 21 }
jamie@264 22 }
jamie@264 23
jamie@264 24 void xttest_gen_noise(double *table, uint32_t tablesize, double amplitude)
jamie@264 25 {
jamie@264 26 std::random_device rd;
jamie@264 27 std::mt19937 gen(rd());
jamie@264 28 std::uniform_real_distribution<double> dist(-amplitude, amplitude);
jamie@264 29
jamie@264 30 for (int i = 0; i < tablesize; ++i)
jamie@264 31 {
jamie@264 32 table[i] = dist(gen);
jamie@264 33 printf("%f\n", table[i]);
jamie@264 34 }
jamie@264 35
jamie@264 36 }
jamie@264 37