30 void fastsum_benchomp_createdataset(
unsigned int d,
int L,
int M)
37 x = (R*) NFFT(malloc)((size_t)(d * L) *
sizeof(R));
38 y = (R*) NFFT(malloc)((size_t)(d * L) *
sizeof(R));
39 alpha = (C*) NFFT(malloc)((size_t)(L) *
sizeof(C));
48 for (j = 0; j < d; j++)
49 x[k * d + j] = K(2.0) * r_max * NFFT(drand48)() - r_max;
51 for (j = 0; j < d; j++)
52 r2 += x[k * d + j] * x[k * d + j];
54 if (r2 >= r_max * r_max)
60 NFFT(vrand_unit_complex)(alpha, L);
69 for (j = 0; j < d; j++)
70 y[k * d + j] = K(2.0) * r_max * NFFT(drand48)() - r_max;
72 for (j = 0; j < d; j++)
73 r2 += y[k * d + j] * y[k * d + j];
75 if (r2 >= r_max * r_max)
81 printf(
"%d %d %d\n", d, L, M);
83 for (j = 0; j < L; j++)
85 for (t = 0; t < d; t++)
86 printf(
"%.16" __FES__
" ", x[d * j + t]);
90 for (j = 0; j < L; j++)
91 printf(
"%.16" __FES__
" %.16" __FES__
"\n", CREAL(alpha[j]), CIMAG(alpha[j]));
93 for (j = 0; j < M; j++)
95 for (t = 0; t < d; t++)
96 printf(
"%.16" __FES__
" ", y[d * j + t]);
105 int main(
int argc,
char **argv)
113 fprintf(stderr,
"usage: d L M\n");
121 fprintf(stderr,
"d=%d, L=%d, M=%d\n", d, L, M);
123 fastsum_benchomp_createdataset(d, L, M);
Header file for the nfft3 library.