@@ -79,20 +79,20 @@ struct Operators {
7979 vector_complex wfc;
8080};
8181
82- void fft (vector_complex &x, int n, bool inverse) {
82+ void fft (vector_complex &x, bool inverse) {
8383 std::vector<std::complex <double >> y (x.size (), std::complex <double >(0.0 , 0.0 ));
8484 fftw_plan p;
8585
8686 fftw_complex *in = reinterpret_cast <fftw_complex*>(x.data ());
8787 fftw_complex *out = reinterpret_cast <fftw_complex*>(y.data ());
88- p = fftw_plan_dft_1d (n , in, out,
88+ p = fftw_plan_dft_1d (x. size () , in, out,
8989 (inverse ? FFTW_BACKWARD : FFTW_FORWARD), FFTW_ESTIMATE);
9090
9191 fftw_execute (p);
9292 fftw_destroy_plan (p);
9393
94- for (size_t i = 0 ; i < n ; ++i) {
95- x[i] = y[i] / sqrt (static_cast <double >(n ));
94+ for (size_t i = 0 ; i < x. size () ; ++i) {
95+ x[i] = y[i] / sqrt (static_cast <double >(x. size () ));
9696 }
9797}
9898
@@ -104,13 +104,13 @@ void split_op(Params &par, Operators &opr) {
104104 opr.wfc [j] *= opr.pe [j];
105105 }
106106
107- fft (opr.wfc , opr. size , false );
107+ fft (opr.wfc , false );
108108
109109 for (size_t j = 0 ; j < opr.size ; ++j) {
110110 opr.wfc [j] *= opr.ke [j];
111111 }
112112
113- fft (opr.wfc , opr. size , true );
113+ fft (opr.wfc , true );
114114
115115 for (size_t j = 0 ; j < opr.size ; ++j) {
116116 opr.wfc [j] *= opr.pe [j];
@@ -159,7 +159,7 @@ double calculate_energy(Params &par, Operators &opr) {
159159 vector_complex wfc_r (opr.wfc );
160160 vector_complex wfc_k (opr.wfc );
161161 vector_complex wfc_c (opr.size );
162- fft (wfc_k, opr. size , false );
162+ fft (wfc_k, false );
163163
164164 for (size_t i = 0 ; i < opr.size ; ++i) {
165165 wfc_c[i] = conj (wfc_r[i]);
@@ -172,7 +172,7 @@ double calculate_energy(Params &par, Operators &opr) {
172172 energy_k[i] = wfc_k[i] * pow (complex (par.k [i], 0.0 ), 2 );
173173 }
174174
175- fft (energy_k, opr. size , true );
175+ fft (energy_k, true );
176176
177177 for (size_t i = 0 ; i < opr.size ; ++i) {
178178 energy_k[i] *= 0.5 * wfc_c[i];
0 commit comments