Changeset 22ec93a


Ignore:
Timestamp:
Nov 15, 2018, 2:02:40 AM (6 years ago)
Author:
Paul Brossier <piem@piem.org>
Branches:
feature/autosink, feature/cnn, feature/cnn_org, feature/constantq, feature/crepe, feature/crepe_org, feature/pitchshift, feature/pydocstrings, feature/timestretch, fix/ffmpeg5, master
Children:
5a703bd
Parents:
9ef3c6e
Message:

[tests] check fft reconstruction for even size and radix 3, 5, 15

File:
1 edited

Legend:

Unmodified
Added
Removed
  • python/tests/test_fft.py

    r9ef3c6e r22ec93a  
    143143        assert_almost_equal ( r[1:], 0)
    144144
     145class aubio_fft_odd_sizes(TestCase):
     146
     147    def test_reconstruct_with_odd_size(self):
     148        win_s = 29
     149        self.recontruct(win_s, 'odd sizes not supported')
     150
     151    def test_reconstruct_with_radix15(self):
     152        win_s = 2 ** 4 * 15
     153        self.recontruct(win_s, 'radix 15 supported')
     154
     155    def test_reconstruct_with_radix5(self):
     156        win_s = 2 ** 4 * 5
     157        self.recontruct(win_s, 'radix 5 supported')
     158
     159    def test_reconstruct_with_radix3(self):
     160        win_s = 2 ** 4 * 3
     161        self.recontruct(win_s, 'radix 3 supported')
     162
     163    def recontruct(self, win_s, skipMessage):
     164        try:
     165            f = fft(win_s)
     166        except RuntimeError:
     167            self.skipTest(skipMessage)
     168        input_signal = fvec(win_s)
     169        input_signal[win_s//2] = 1
     170        c = f(input_signal)
     171        output_signal = f.rdo(c)
     172        assert_almost_equal(input_signal, output_signal)
     173
     174class aubio_fft_wrong_params(TestCase):
     175
    145176    def test_large_input_timegrain(self):
    146177        win_s = 1024
     
    170201        with self.assertRaises(ValueError):
    171202            f.rdo(s)
    172 
    173 class aubio_fft_wrong_params(TestCase):
    174203
    175204    def test_wrong_buf_size(self):
     
    177206        with self.assertRaises(ValueError):
    178207            fft(win_s)
    179 
    180     def test_buf_size_not_power_of_two(self):
    181         # when compiled with fftw3, aubio supports non power of two fft sizes
    182         win_s = 320
    183         try:
    184             with self.assertRaises(RuntimeError):
    185                 fft(win_s)
    186         except AssertionError:
    187             self.skipTest('creating aubio.fft with size %d did not fail' % win_s)
    188208
    189209    def test_buf_size_too_small(self):
Note: See TracChangeset for help on using the changeset viewer.