From ff7b8dc45e926da9980db259249da493cbaba54f Mon Sep 17 00:00:00 2001 From: Guilhem Lavaux Date: Sun, 11 Nov 2012 13:30:29 -0500 Subject: [PATCH] Improved the test to check different size of maps --- sample/test_fft_calls.cpp | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/sample/test_fft_calls.cpp b/sample/test_fft_calls.cpp index a4a82a1..e7e28c1 100644 --- a/sample/test_fft_calls.cpp +++ b/sample/test_fft_calls.cpp @@ -1,3 +1,4 @@ +#include #include "yorick.hpp" #include #include @@ -5,6 +6,8 @@ #include "fourier/euclidian.hpp" using namespace CosmoTool; +using boost::format; +using boost::str; using namespace std; double spectrum_generator(double k) @@ -14,15 +17,16 @@ double spectrum_generator(double k) return 1/(0.01+pow(k, 3.0)); } -int main() +void test_2d(int Nx, int Ny) { - EuclidianFourierTransform_2d dft(1024,1024,1.0,1.0); + EuclidianFourierTransform_2d dft(Nx,Ny,1.0,1.0); EuclidianSpectrum_1D spectrum(spectrum_generator); - double volume = 1024*1024; + double volume = Nx*Ny; gsl_rng *rng = gsl_rng_alloc(gsl_rng_default); dft.realSpace().eigen().setRandom(); dft.analysis(); + cout << format("Testing (%d,%d)") % Nx % Ny << endl; cout << "Map dot-product = " << dft.realSpace().dot_product(dft.realSpace()) << endl; cout << "Fourier dot-product = " << dft.fourierSpace().dot_product(dft.fourierSpace()).real()*volume << endl; dft.synthesis(); @@ -35,9 +39,13 @@ int main() dft.fourierSpace() = *m.get(); dft.synthesis(); - uint32_t dims[2] = { 1024, 1024 }; - CosmoTool::saveArray("generated_map.nc", dft.realSpace().data(), dims, 2); - - return 0; - + uint32_t dims[2] = { Ny, Nx }; + CosmoTool::saveArray(str(format("generated_map_%d_%d.nc") %Nx % Ny) , dft.realSpace().data(), dims, 2); +} + +int main(int argc, char **argv) +{ + test_2d(128,128); + test_2d(131,128); + return 0; }