ref: 524e32b1cd45a332c58b8cd681662f815628deee
dir: /shuffle.h/
typedef struct Shuffle Shuffle;
struct Shuffle {
int i, n;
int m, a, c, x0, xi;
};
void shuffle_init(Shuffle *s, int (*rndrange)(int max_excluding), int total, int first);
void shuffle_resize(Shuffle *s, int total);
int shuffle_one(Shuffle *s, int index);
int shuffle_for(Shuffle *s, int index);