33 void nfsft_benchomp_createdataset(
unsigned int trafo_adjoint,
int N,
int M)
38 int N_total = (2*N+2) * (2*N+2);
41 nfsft_init_guru(&ptemp, N, M, NFSFT_MALLOC_X | NFSFT_MALLOC_F |
42 NFSFT_MALLOC_F_HAT | NFSFT_NORMALIZED | NFSFT_PRESERVE_F_HAT,
43 PRE_PHI_HUT | PRE_PSI | FFTW_INIT | FFT_OUT_OF_PLACE, 6);
50 for (j = 0; j < M; j++)
52 x[2*j]= nfft_drand48() - K(0.5);
53 x[2*j+1]= K(0.5) * nfft_drand48();
58 for (k = 0; k <= N; k++)
59 for (n = -k; n <= k; n++)
67 printf(
"%d %d %d\n", trafo_adjoint, N, M);
72 printf(
"%.16e ", x[2*j+t]);
78 for (k = 0; k <= N; k++)
79 for (n = -k; n <= k; n++)
80 printf(
"%.16e %.16e\n", creal(f_hat[NFSFT_INDEX(k,n,&ptemp)]), cimag(f_hat[NFSFT_INDEX(k,n,&ptemp)]));
85 printf(
"%.16e %.16e\n", creal(f[j]), cimag(f[j]));
93 int main(
int argc,
char **argv)
100 fprintf(stderr,
"usage: tr_adj N M\n");
104 trafo_adjoint = atoi(argv[1]);
105 if (trafo_adjoint < 0 && trafo_adjoint > 1)
110 fprintf(stderr,
"tr_adj=%d, N=%d, M=%d\n", trafo_adjoint, N, M);
112 nfsft_benchomp_createdataset(trafo_adjoint, N, M);