fftbx::real_to_complex_3d<std::vector<double> > fft(N); fft.forward(*cseq);
  shared_vector tst_rfftw(char dir, const fftbx::triple& N)  {    //std::cout << N[0] << " " << N[1] << " " << N[2] << std::endl;    fftbx::triple M = fftbx::Ncomplex_from_Nreal(N);    //std::cout << M[0] << " " << M[1] << " " << M[2] << std::endl;    shared_vector cseq = init_cseq(M);    //std::cout << cseq->size() << std::endl;    rfftwnd_plan Plan;    if (dir == 'f') {      Plan = rfftw3d_create_plan(        N[0], N[1], N[2], FFTW_FORWARD, FFTW_ESTIMATE | FFTW_IN_PLACE);      rfftwnd_one_real_to_complex(Plan, (fftw_real *) &(*cseq)[0], 0);    }    else {      Plan = rfftw3d_create_plan(        N[0], N[1], N[2], FFTW_BACKWARD, FFTW_ESTIMATE | FFTW_IN_PLACE);      rfftwnd_one_complex_to_real(Plan, (fftw_complex *) &(*cseq)[0], 0);    }    rfftwnd_destroy_plan(Plan);    return cseq;  }