def test_fdownsample(comm): """ fourier space resample, deprecated """ pm1 = ParticleMesh(BoxSize=8.0, Nmesh=[8, 8], comm=comm, dtype='f8') pm2 = ParticleMesh(BoxSize=8.0, Nmesh=[4, 4], comm=comm, dtype='f8') numpy.random.seed(3333) truth = numpy.fft.rfftn(numpy.random.normal(size=(8, 8))) complex1 = ComplexField(pm1) for ind in numpy.ndindex(*complex1.cshape): complex1.csetitem(ind, truth[ind]) assert_almost_equal(complex1[...], complex1.c2r().r2c()) complex2 = ComplexField(pm2) for ind in numpy.ndindex(*complex2.cshape): newind = tuple([i if i <= 2 else 8 - (4 - i) for i in ind]) if any(i == 2 for i in ind): complex2.csetitem(ind, 0) else: complex2.csetitem(ind, truth[newind]) tmpr = RealField(pm2) tmp = ComplexField(pm2) complex1.resample(tmp) assert_almost_equal(complex2[...], tmp[...], decimal=5) complex1.c2r().resample(tmp) assert_almost_equal(complex2[...], tmp[...], decimal=5) complex1.resample(tmpr) assert_almost_equal(tmpr.r2c(), tmp[...]) complex1.c2r().resample(tmpr) assert_almost_equal(tmpr.r2c(), tmp[...])