diff test/test_fft.yeti @ 41:06d7d07bb72c

Add basic forward FFT and tests. Unpacking the results takes a lot longer than computing them (this way) so this will have to change
author Chris Cannam
date Sun, 23 Dec 2012 16:28:06 +0000
parents
children 805b61175443
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/test/test_fft.yeti	Sun Dec 23 16:28:06 2012 +0000
@@ -0,0 +1,42 @@
+
+module test.test_fft;
+
+{ fft } = load fft;
+{ fromList, list } = load block;
+{ declare, compare } = load test.test;
+
+declare [
+
+"dc": \(
+    out = fft 4 (fromList [1,1,1,1]);
+    compare out (array [{re=4, im=0}, {re=0, im=0}, {re=0, im=0}])
+),
+
+"sine": \(
+    out = fft 4 (fromList [0,1,0,-1]);
+    compare out (array [{re=0, im=0}, {re=0, im=(-2)}, {re=0, im=0}])
+),
+
+"cosine": \(
+    out = fft 4 (fromList [1,0,-1,0]);
+    compare out (array [{re=0, im=0}, {re=2, im=0}, {re=0, im=0}])
+),
+
+"sineCosine": \(
+    out = fft 4 (fromList [0.5,1,-0.5,-1]);
+    compare out (array [{re=0, im=0}, {re=1, im=(-2)}, {re=0, im=0}])
+),
+
+"nyquist": \(
+    out = fft 4 (fromList [1,-1,1,-1]);
+    compare out (array [{re=0, im=0}, {re=0, im=0}, {re=4, im=0}])
+),
+
+"dirac": \(
+    out = fft 4 (fromList [1,0,0,0]);
+    compare out (array [{re=1, im=0}, {re=1, im=0}, {re=1, im=0}])
+),
+
+];
+
+