def test_UnscaledFFT_1d(backend, M, B ):
b = backend()
# forward
x = b.rand_array( (M, B) )
y = b.rand_array( (M, B) )
x_h = x.to_host().reshape( (M,B), order='F' )
A = b.UnscaledFFT( (M,), dtype=x.dtype )
A.eval(y, x)
y_exp = np.fft.fftn( x_h, axes=(0,) )
y_act = y.to_host().reshape( (M,B), order='F' )
npt.assert_allclose(y_act, y_exp, rtol=1e-2)
# adjoint
x = b.rand_array( (M, B) )
y = b.rand_array( (M, B) )
x_h = x.to_host().reshape( (M,B), order='F' )
A.H.eval(y, x)
y_exp = np.fft.ifftn( x_h, axes=(0,) ) * M
y_act = y.to_host().reshape( (M,B), order='F' )
npt.assert_allclose(y_act, y_exp, rtol=1e-2)
评论列表
文章目录