def test_fast_dct_fft_invertibility(self): prev = 0 for i in range(30 + 1): n = round(10000**(i / 30.0)) if n <= prev: continue prev = n vector = FastDctTest.random_vector(n) temp = fastdctfft.transform(vector) temp = fastdctfft.inverse_transform(temp) temp = [(val * 2.0 / n) for val in temp] self.assertListAlmostEqual(vector, temp)
def test_fast_dct_fft_invertibility(self): prev = 0 for i in range(30 + 1): n = int(round(10000**(i / 30.0))) if n <= prev: continue prev = n vector = FastDctTest.random_vector(n) temp = fastdctfft.transform(vector) temp = fastdctfft.inverse_transform(temp) temp = [(val * 2.0 / n) for val in temp] self.assertListAlmostEqual(vector, temp)
def test_fast_dct_fft_vs_naive(self): prev = 0 for i in range(100 + 1): n = round(1000**(i / 100.0)) if n <= prev: continue prev = n vector = FastDctTest.random_vector(n) expect = naivedct.transform(vector) actual = fastdctfft.transform(vector) self.assertListAlmostEqual(actual, expect) expect = naivedct.inverse_transform(vector) actual = fastdctfft.inverse_transform(vector) self.assertListAlmostEqual(actual, expect)
def test_fast_dct_fft_vs_naive(self): prev = 0 for i in range(100 + 1): n = int(round(1000**(i / 100.0))) if n <= prev: continue prev = n vector = FastDctTest.random_vector(n) expect = naivedct.transform(vector) actual = fastdctfft.transform(vector) self.assertListAlmostEqual(actual, expect) expect = naivedct.inverse_transform(vector) actual = fastdctfft.inverse_transform(vector) self.assertListAlmostEqual(actual, expect)