2 #include <gsl/gsl_rng.h>
3 #include <gsl/gsl_randist.h>
4 #include <gsl/gsl_permutation.h>
10 const gsl_rng_type * T;
13 gsl_permutation * p = gsl_permutation_alloc (N);
14 gsl_permutation * q = gsl_permutation_alloc (N);
18 r = gsl_rng_alloc (T);
20 printf ("initial permutation:");
21 gsl_permutation_init (p);
22 gsl_permutation_fprintf (stdout, p, " %u");
25 printf (" random permutation:");
26 gsl_ran_shuffle (r, p->data, N, sizeof(size_t));
27 gsl_permutation_fprintf (stdout, p, " %u");
30 printf ("inverse permutation:");
31 gsl_permutation_inverse (q, p);
32 gsl_permutation_fprintf (stdout, q, " %u");
35 gsl_permutation_free (p);
36 gsl_permutation_free (q);