#include #include #include #include #include #include "nr.h" using namespace std; // Driver for routine rlft3 int compare(const string &str, Mat3D_I_DP &arr1, Mat3D_I_DP &arr2, const DP eps) { const int IPRNT=20; int err=0,i1,i2,i3; DP a1,a2; int len1=arr1.dim1(); int len2=arr1.dim2(); int len3=arr1.dim3(); cout << str << endl; cout << fixed << setprecision(6); for (i1=0;i1 eps) || (fabs((a1-a2)/a2) > eps)) { if (++err <= IPRNT) cout << setw(3) << i1 << setw(3) << i2; cout << setw(3) << i3; cout << setw(13) << a1 << setw(13) << a2 << endl; } } return err; } int main(void) { const int NX=32,NY=8,NZ=16; const DP EPS=1.e4*numeric_limits::epsilon(); int err,i,j,k,nn1=NX,nn2=NY,nn3=NZ,idum=(-3); DP fnorm; Mat_DP speq1(nn1,nn2<<1); Mat3D_DP data1(nn1,nn2,nn3),data2(nn1,nn2,nn3); fnorm=DP(nn1)*DP(nn2)*DP(nn3)/2.0; for (i=0;i 0 ? 1 : 0); }