public static double[] shuffle(
		final double[] array,
		final RandomGenerator random
	) {
		for (int j = array.length - 1; j > 0; --j) {
			swap(array, j, random.nextInt(j + 1));
		}
		return array;
	}
Randomize the {@code array} using the given {@link RandomGenerator}
object. The used shuffling algorithm is from D. Knuth TAOCP, Seminumerical
Algorithms, Third edition, page 142, Algorithm S (Selection sampling
technique).

@param array the array to shuffle
@param random the PRNG
@return the shuffled array
jenetics/src/main/java/io/jenetics/internal/util/Arrays.java