big{ A_re = (double*)malloc(sizeof(double)*n); A_im = (double*)malloc(sizeof(double)*n); W_re = (double*)malloc(sizeof(double)*n/2); W_im = (double*)malloc(sizeof(double)*n/2); assert(A_re != NULL && A_im != NULL && W_re != NULL && W_im != NULL); } ~big{ free(A_re); free(A_im); free(W_re); free(W_im); } } int main(int argc, char *argv[]) { big1=big(); n = 64; (i=0; i<10000000; i++) { big1.init_array(n, A_re, A_im); big1.compute_W(n, W_re, W_im); big1.fft(n, A_re, A_im, W_re, W_im); big1.permute_bitrev(n, A_re, A_im); //output_array(n, A_re, A_im, argv[2]); } return 0; }