int main(void) { xrational_t *a; init_rationals(); a = (xrational_t *) safe_malloc(150 * sizeof(xrational_t)); init_test_array(a, 150); printf("Init: size 1\n"); init_xq_hmap(&map, 1); print_hmap(&map); test1(&map, a, 150); printf("Reset\n"); reset_xq_hmap(&map); print_hmap(&map); test1(&map, a, 150); delete_xq_hmap(&map); free_test_array(a, 150); cleanup_rationals(); return 0; }
/* * Same as fftw_measure_runtime, except for fftwnd plan. */ double fftwnd_measure_runtime(fftwnd_plan plan, fftw_complex *in, int istride, fftw_complex *out, int ostride) { fftw_time begin, end, start; double t, tmax, tmin; int i, iter; int n; int repeat; if (plan->rank == 0) return 0.0; n = 1; for (i = 0; i < plan->rank; ++i) n *= plan->n[i]; iter = 1; for (;;) { tmin = 1.0E10; tmax = -1.0E10; init_test_array(in, istride, n); start = fftw_get_time(); /* repeat the measurement FFTW_TIME_REPEAT times */ for (repeat = 0; repeat < FFTW_TIME_REPEAT; ++repeat) { begin = fftw_get_time(); for (i = 0; i < iter; ++i) { fftwnd(plan, 1, in, istride, 0, out, ostride, 0); } end = fftw_get_time(); t = fftw_time_to_sec(fftw_time_diff(end, begin)); if (t < tmin) tmin = t; if (t > tmax) tmax = t; /* do not run for too long */ t = fftw_time_to_sec(fftw_time_diff(end, start)); if (t > FFTW_TIME_LIMIT) break; } if (tmin >= FFTW_TIME_MIN) break; iter *= 2; } tmin /= (double) iter; tmax /= (double) iter; return tmin; }
int main(void) { int distanz_folge; float zeit; clock_t start, ende; for(distanz_folge =2; distanz_folge <= MAX_TEST; distanz_folge++) { init_test_array(); start = clock(); shellsort(test_array, MAX-1, distanz_folge); ende = clock(); /* Ergebnis der Laufzeitmessung in Sekunden */ zeit = (float)(ende-start) / (float)CLOCKS_PER_SEC; printf("Die Laufzeitmessung der Distanzfolge " " %d ergab %2.2f Sekunden\n" ,distanz_folge,zeit); } return EXIT_SUCCESS; }