示例#1
0
    def test_roundtrip_outofplace(self, **kwargs):
        shift = kwargs.get('shift', 0)

        grid = np.arange(128)
        mu = 43.
        stdv = 3.
        g = (np.exp(-(grid - mu)**2 / (2 * stdv**2)) /
             (2 * np.pi * stdv**2)).astype(self.dt)
        g2 = g.copy()
        g_bkp = g.copy()
        ##         gw = np.empty_like(g)
        ##         grt = np.empty_like(g)

        gw = _fftn(g, inplace=False, shift=shift)
        gw_np = reference_fftn(g2, axes=(0, ), shift=shift)
        grt = _ifftn(gw, inplace=False, shift=shift)
        grt_np = reference_ifftn(gw, axes=(0, ), shift=shift)

        # strong assertion that g is not altered at all
        assert (g == g_bkp).all(), 'out of place xform error, shift=%d' % shift
        self.comp(gw,
                  gw_np,
                  err_msg='differs from numpy fft ref, shift=%d' % shift)
        self.nrg_comp(gw, gw_np)
        self.comp(g,
                  grt,
                  err_msg='roundtrip transforms diverge, shift=%d' % shift)
        self.nrg_comp(g, grt)
示例#2
0
    def test_roundtrip_outofplace(self, **kwargs):
        shift = kwargs.get('shift', 0)

        grid = np.arange(128)
        mu = 43.
        stdv = 3.
        g = (np.exp(-(grid-mu)**2 / (2*stdv**2)) / (2*np.pi*stdv**2)).astype(self.dt)
        g2 = g.copy()
        g_bkp = g.copy()
##         gw = np.empty_like(g)
##         grt = np.empty_like(g)

        gw = _fftn(g, inplace=False, shift=shift)
        gw_np = reference_fftn(g2, axes=(0,), shift=shift)
        grt = _ifftn(gw, inplace=False, shift=shift)
        grt_np = reference_ifftn(gw, axes=(0,), shift=shift)


        # strong assertion that g is not altered at all
        assert (g==g_bkp).all(), 'out of place xform error, shift=%d'%shift
        self.comp(gw, gw_np,
                  err_msg='differs from numpy fft ref, shift=%d'%shift)
        self.nrg_comp(gw, gw_np)
        self.comp(g, grt,
                  err_msg='roundtrip transforms diverge, shift=%d'%shift)
        self.nrg_comp(g, grt)        
示例#3
0
 def test_roundtrip_inplace(self, **kwargs):
     shift = kwargs.get('shift', 0)
     grid = np.arange(128)
     mu = 43.
     stdv = 3.
     g = (np.exp(-(grid-mu)**2 / (2*stdv**2)) / (2*np.pi*stdv**2)).astype(self.dt)
     g2 = g.copy()
     g_bkp = g.copy()
     _fftn(g, inplace=True, shift=shift)
     gw_np = reference_fftn(g2, shift=shift, axes=(0,))
     
     self.comp(g, gw_np,
               err_msg='differs from numpy fft ref, shift=%d'%shift)
     self.nrg_comp(g, gw_np)
     _ifftn(g, inplace=True, shift=shift)
     self.comp(g_bkp, g,
               err_msg='roundtrip transforms diverge, shift=%d'%shift)
     self.nrg_comp(g_bkp, g)        
示例#4
0
    def test_roundtrip_inplace(self, **kwargs):
        shift = kwargs.get('shift', 0)
        grid = np.arange(128)
        mu = 43.
        stdv = 3.
        g = (np.exp(-(grid - mu)**2 / (2 * stdv**2)) /
             (2 * np.pi * stdv**2)).astype(self.dt)
        g2 = g.copy()
        g_bkp = g.copy()
        _fftn(g, inplace=True, shift=shift)
        gw_np = reference_fftn(g2, shift=shift, axes=(0, ))

        self.comp(g,
                  gw_np,
                  err_msg='differs from numpy fft ref, shift=%d' % shift)
        self.nrg_comp(g, gw_np)
        _ifftn(g, inplace=True, shift=shift)
        self.comp(g_bkp,
                  g,
                  err_msg='roundtrip transforms diverge, shift=%d' % shift)
        self.nrg_comp(g_bkp, g)