#include #include "nr.h" using namespace std; void NR::cosft2(Vec_IO_DP &y, const int isign) { const DP PI=3.141592653589793238; int i; DP sum,sum1,y1,y2,ytemp,theta,wi=0.0,wi1,wpi,wpr,wr=1.0,wr1,wtemp; int n=y.size(); theta=0.5*PI/n; wr1=cos(theta); wi1=sin(theta); wpr = -2.0*wi1*wi1; wpi=sin(2.0*theta); if (isign == 1) { for (i=0;i0;i-=2) { sum1=sum; sum += y[i]; y[i]=sum1; } } else if (isign == -1) { ytemp=y[n-1]; for (i=n-1;i>2;i-=2) y[i]=y[i-2]-y[i]; y[1]=2.0*ytemp; for (i=2;i