/** * Sets the minimum padding with zeros for all array dimensions. * The default minimum is zero. However, some amount of padding * may be required by the FFT. * @param padding the minimum padding. */ public void setPadding(int padding) { setPadding1(padding); setPadding2(padding); setPadding3(padding); }
private void test2( boolean complex, boolean overwrite, boolean center1, boolean center2, int padding1, int padding2, int n1, double d1, double f1, int n2, double d2, double f2) { if (n1<=0 || n2<=0) return; Sampling s1 = new Sampling(n1,d1,f1); Sampling s2 = new Sampling(n2,d2,f2); Fft fft = new Fft(s1,s2); fft.setComplex(complex); fft.setOverwrite(overwrite); fft.setCenter1(center1); fft.setCenter2(center2); fft.setPadding1(padding1); fft.setPadding2(padding2); float[][] f = (complex)?crandfloat(n1,n2):randfloat(n1,n2); float[][] g = fft.applyForward(f); float[][] h = fft.applyInverse(g); if (complex) assertComplexEqual(n1,n2,f,h); else assertRealEqual(n1,n2,f,h); } private void test3(
private void test3( boolean complex, boolean overwrite, boolean center1, boolean center2, boolean center3, int padding1, int padding2, int padding3, int n1, double d1, double f1, int n2, double d2, double f2, int n3, double d3, double f3) { if (n1<=0 || n2<=0 || n3<=0) return; Sampling s1 = new Sampling(n1,d1,f1); Sampling s2 = new Sampling(n2,d2,f2); Sampling s3 = new Sampling(n3,d3,f3); Fft fft = new Fft(s1,s2,s3); fft.setComplex(complex); fft.setOverwrite(overwrite); fft.setCenter1(center1); fft.setCenter2(center2); fft.setCenter3(center3); fft.setPadding1(padding1); fft.setPadding2(padding2); fft.setPadding3(padding3); float[][][] f = (complex)?crandfloat(n1,n2,n3):randfloat(n1,n2,n3); float[][][] g = fft.applyForward(f); float[][][] h = fft.applyInverse(g); if (complex) assertComplexEqual(n1,n2,n3,f,h); else assertRealEqual(n1,n2,n3,f,h); }