Functions | |
| static unsigned | myrand_n (unsigned n) |
Return a random unsigned integer between 0 and n-1. | |
| static void | myswap (unsigned i, unsigned j, unsigned *restrict table) |
| Swap i and j in table. | |
| static void | identity_permutation (unsigned n, unsigned *restrict table) |
| Store the identity permutation of n elements into table. | |
| static void | rand_permutation (unsigned n, unsigned *restrict table) |
| Store a random permutation of n elements into table. | |
| static void | builtin_rng_permutation (builtin_rng_state_t *restrict state, unsigned n, unsigned *restrict table) |
| Store a random permutation of n elements into table. | |
| static void builtin_rng_permutation | ( | builtin_rng_state_t *restrict | state, | |
| unsigned | n, | |||
| unsigned *restrict | table | |||
| ) | [inline, static] |
Store a random permutation of n elements into table.
Uses builtin_rng.
Definition at line 347 of file types.c.
References builtin_rng_n(), identity_permutation(), and myswap().
Referenced by next_permutation().
| static void identity_permutation | ( | unsigned | n, | |
| unsigned *restrict | table | |||
| ) | [inline, static] |
Store the identity permutation of n elements into table.
Definition at line 325 of file types.c.
Referenced by builtin_rng_permutation(), next_permutation(), and rand_permutation().
| static unsigned myrand_n | ( | unsigned | n | ) | [inline, static] |
Return a random unsigned integer between 0 and n-1.
Uses the random number generator in the C library.
Definition at line 309 of file types.c.
Referenced by rand_permutation().
| static void myswap | ( | unsigned | i, | |
| unsigned | j, | |||
| unsigned *restrict | table | |||
| ) | [inline, static] |
Swap i and j in table.
Definition at line 316 of file types.c.
Referenced by builtin_rng_permutation(), and rand_permutation().
| static void rand_permutation | ( | unsigned | n, | |
| unsigned *restrict | table | |||
| ) | [inline, static] |
Store a random permutation of n elements into table.
Uses the random number generator from the C library.
Definition at line 335 of file types.c.
References identity_permutation(), myrand_n(), and myswap().
Referenced by next_permutation().