1 #include <gsl/gsl_rng.h>
2 #include <gsl/gsl_sort_double.h>
7 const gsl_rng_type * T;
10 size_t i, k = 5, N = 100000;
12 double * x = malloc (N * sizeof(double));
13 double * small = malloc (k * sizeof(double));
18 r = gsl_rng_alloc (T);
20 for (i = 0; i < N; i++)
22 x[i] = gsl_rng_uniform(r);
25 gsl_sort_smallest (small, k, x, 1, N);
27 printf ("%d smallest values from %d\n", k, N);
29 for (i = 0; i < k; i++)
31 printf ("%d: %.18f\n", i, small[i]);