summaryrefslogtreecommitdiff
path: root/numpy/fft/tests
diff options
context:
space:
mode:
Diffstat (limited to 'numpy/fft/tests')
-rw-r--r--numpy/fft/tests/test_fftpack.py23
-rw-r--r--numpy/fft/tests/test_helper.py42
2 files changed, 65 insertions, 0 deletions
diff --git a/numpy/fft/tests/test_fftpack.py b/numpy/fft/tests/test_fftpack.py
new file mode 100644
index 000000000..1095de4bc
--- /dev/null
+++ b/numpy/fft/tests/test_fftpack.py
@@ -0,0 +1,23 @@
+from numpy.testing import *
+import numpy as np
+
+def fft1(x):
+ L = len(x)
+ phase = -2j*np.pi*(np.arange(L)/float(L))
+ phase = np.arange(L).reshape(-1,1) * phase
+ return np.sum(x*np.exp(phase),axis=1)
+
+class TestFFTShift(TestCase):
+ def test_fft_n(self):
+ self.failUnlessRaises(ValueError,np.fft.fft,[1,2,3],0)
+
+
+class TestFFT1D(TestCase):
+ def test_basic(self):
+ rand = np.random.random
+ x = rand(30) + 1j*rand(30)
+ assert_array_almost_equal(fft1(x), np.fft.fft(x))
+
+
+if __name__ == "__main__":
+ run_module_suite()
diff --git a/numpy/fft/tests/test_helper.py b/numpy/fft/tests/test_helper.py
new file mode 100644
index 000000000..f757b6032
--- /dev/null
+++ b/numpy/fft/tests/test_helper.py
@@ -0,0 +1,42 @@
+#!/usr/bin/env python
+# Copied from fftpack.helper by Pearu Peterson, October 2005
+""" Test functions for fftpack.helper module
+"""
+
+from numpy.testing import *
+from numpy.fft import fftshift,ifftshift,fftfreq
+
+from numpy import pi
+
+def random(size):
+ return rand(*size)
+
+class TestFFTShift(TestCase):
+ def test_definition(self):
+ x = [0,1,2,3,4,-4,-3,-2,-1]
+ y = [-4,-3,-2,-1,0,1,2,3,4]
+ assert_array_almost_equal(fftshift(x),y)
+ assert_array_almost_equal(ifftshift(y),x)
+ x = [0,1,2,3,4,-5,-4,-3,-2,-1]
+ y = [-5,-4,-3,-2,-1,0,1,2,3,4]
+ assert_array_almost_equal(fftshift(x),y)
+ assert_array_almost_equal(ifftshift(y),x)
+
+ def test_inverse(self):
+ for n in [1,4,9,100,211]:
+ x = random((n,))
+ assert_array_almost_equal(ifftshift(fftshift(x)),x)
+
+
+class TestFFTFreq(TestCase):
+ def test_definition(self):
+ x = [0,1,2,3,4,-4,-3,-2,-1]
+ assert_array_almost_equal(9*fftfreq(9),x)
+ assert_array_almost_equal(9*pi*fftfreq(9,pi),x)
+ x = [0,1,2,3,4,-5,-4,-3,-2,-1]
+ assert_array_almost_equal(10*fftfreq(10),x)
+ assert_array_almost_equal(10*pi*fftfreq(10,pi),x)
+
+
+if __name__ == "__main__":
+ run_module_suite()