ref: 482f0ce1f33e655ab3085c3c9c2f5d71cd5b1c79
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);