This routine is invoked when all input lines are being randomized. It selects the
appropriate function and template instantiation based on the command line arguments.
Different randomization algorithms are used when all input lines are being randomized
rather than a subset. The key distinction being that if all input needs to be read
into memory to support the algorithm, it works better to simply read the data all at
once.
There are two different types of algorithms used. Array shuffling is used for
unweighted randomization. Sorting is used for weighted randomization or when
compatibility mode is needed.
The algorithms used here are all limited by available memory.
This routine is invoked when all input lines are being randomized. It selects the appropriate function and template instantiation based on the command line arguments.
Different randomization algorithms are used when all input lines are being randomized rather than a subset. The key distinction being that if all input needs to be read into memory to support the algorithm, it works better to simply read the data all at once.
There are two different types of algorithms used. Array shuffling is used for unweighted randomization. Sorting is used for weighted randomization or when compatibility mode is needed.
The algorithms used here are all limited by available memory.