#include #include "nr.h" using namespace std; void NR::rlft3(Mat3D_IO_DP &data, Mat_IO_DP &speq, const int isign) { int i1,i2,i3,j1,j2,j3,ii3,k1,k2,k3,k4; DP theta,wi,wpi,wpr,wr,wtemp; DP c1,c2,h1r,h1i,h2r,h2i; Vec_INT nn(3); int nn1=data.dim1(); int nn2=data.dim2(); int nn3=data.dim3(); c1=0.5; c2= -0.5*isign; theta=isign*(6.28318530717959/nn3); wtemp=sin(0.5*theta); wpr= -2.0*wtemp*wtemp; wpi=sin(theta); nn[0]=nn1; nn[1]=nn2; nn[2]=nn3 >> 1; Vec_DP data_v(&data[0][0][0],nn1*nn2*nn3); if (isign == 1) { fourn(data_v,nn,isign); k1=0; for (i1=0;i1>1);ii3+=2) { k1=i1*nn2*nn3; k3=j1*nn2*nn3; for (i2=0;i2