package edu.stanford.rsl.conrad.data.test;
import org.junit.Assert;
import org.junit.Test;
import edu.stanford.rsl.conrad.data.numeric.Grid1D;
import edu.stanford.rsl.conrad.data.numeric.Grid1DComplex;
import edu.stanford.rsl.conrad.data.numeric.NumericGrid;
import edu.stanford.rsl.conrad.data.numeric.NumericPointwiseOperators;
import edu.stanford.rsl.conrad.utils.CONRAD;
public class FFTTests {
@Test
public void testFFT1D(){
float [] numbers = {1, 2, -4, 2, 1, 0};
Grid1D grid = new Grid1D(numbers);
Grid1DComplex complexGrid = new Grid1DComplex(grid);
complexGrid.transformForward();
complexGrid.transformInverse();
NumericPointwiseOperators.divideBy(grid, -1);
NumericGrid result = NumericPointwiseOperators.addedBy(grid, complexGrid.getRealSubGrid(0, numbers.length));
float sum = (float)NumericPointwiseOperators.sum(result);
Assert.assertTrue( Math.abs(sum)<CONRAD.FLOAT_EPSILON);
}
}
/*
* Copyright (C) 2010-2014 - Andreas Maier
* CONRAD is developed as an Open Source project under the GNU General Public License (GPL).
*/