/* nag_ran_permut_vec (g05ehc) Example Program. * * Copyright 1992 Numerical Algorithms Group. * * Mark 3, 1992. */ #include #include #include #include #define NMAX 8 int main(void) { Integer exit_status = 0; Integer j, k, n, m; Integer index[NMAX]; Integer seed = 0; NagError fail; INIT_FAIL(fail); printf("nag_ran_permut_vec (g05ehc) Example Program Results\n"); /* nag_random_init_repeatable (g05cbc). * Initialize random number generating functions to give * repeatable sequence */ nag_random_init_repeatable(seed); n = NMAX; m = 10; printf( "\n%ld Permutations of the first %ld integers \n\n", m, n); for (j = 0; j < m; ++j) { /* construct index vector to be permuted */ for (k = 0; k < n; ++k) index[k] = k; /* nag_ran_permut_vec (g05ehc). * Pseudo-random permutation of an integer vector */ nag_ran_permut_vec(index, n, &fail); if (fail.code != NE_NOERROR) { printf("Error from nag_ran_permut_vec (g05ehc) %s\n", fail.message); exit_status = 1; goto END; } for (k = 0; k < n; ++k) printf("%ld ", index[k]); printf("\n"); } END: return exit_status; }