// Path: prngine/src/main/java/io/jenetics/prngine/Bytes.java
// static byte[] toBytes(final int value) {
// 	final byte[] bytes = new byte[4];
// 	bytes[0] = (byte)(value >>> 24);
// 	bytes[1] = (byte)(value >>> 16);
// 	bytes[2] = (byte)(value >>>  8);
// 	bytes[3] = (byte) value;
// 	return bytes;
// }


import java.util.random.RandomGenerator;
import static java.lang.Math.min;
import static io.jenetics.prngine.Bytes.toBytes;
	 * @see #seed()
	 *
	 * @param length the length of the returned byte array.
	 * @return a new <em>seed</em> byte array of the given length
	 * @throws NegativeArraySizeException if the given length is smaller
	 *         than zero.
	 */
	public static byte[] seedBytes(final int length) {
		return seedBytes(new byte[length]);
	}


	/**
	 * Fills the given {@code seedBytes} with the given {@code seed} value. If
	 * the {@code length} is bigger than 8, the {@code seed} value is
	 * <em>stretched</em> for filling the returned seed array. This method is
	 * deterministic and doesn't increase the entropy of the input {@code seed}.
	 *
	 * @see #expandSeedToBytes(long, int)
	 *
	 * @param seed the seed value
	 * @param seedBytes the resulting seeding byte array to fill
	 * @return the given byte array, for method chaining.
	 * @throws NullPointerException if the {@code seedBytes} array is
	 *         {@code null}.
	 */
	public static byte[] expandSeedToBytes(final long seed, final byte[] seedBytes) {
		long seedValue = seed;
		for (int i = 0, len = seedBytes.length; i < len;) {
			final int n = min(len - i, Long.SIZE/Byte.SIZE);
// Path: prngine/src/main/java/io/jenetics/prngine/Bytes.java
// static byte[] toBytes(final int value) {
// 	final byte[] bytes = new byte[4];
// 	bytes[0] = (byte)(value >>> 24);
// 	bytes[1] = (byte)(value >>> 16);
// 	bytes[2] = (byte)(value >>>  8);
// 	bytes[3] = (byte) value;
// 	return bytes;
// }


// Path: prngine/src/main/java/io/jenetics/prngine/Seeds.java
import java.util.random.RandomGenerator;
import static java.lang.Math.min;
import static io.jenetics.prngine.Bytes.toBytes;

	 * @see #seed()
	 *
	 * @param length the length of the returned byte array.
	 * @return a new <em>seed</em> byte array of the given length
	 * @throws NegativeArraySizeException if the given length is smaller
	 *         than zero.
	 */
	public static byte[] seedBytes(final int length) {
		return seedBytes(new byte[length]);
	}


	/**
	 * Fills the given {@code seedBytes} with the given {@code seed} value. If
	 * the {@code length} is bigger than 8, the {@code seed} value is
	 * <em>stretched</em> for filling the returned seed array. This method is
	 * deterministic and doesn't increase the entropy of the input {@code seed}.
	 *
	 * @see #expandSeedToBytes(long, int)
	 *
	 * @param seed the seed value
	 * @param seedBytes the resulting seeding byte array to fill
	 * @return the given byte array, for method chaining.
	 * @throws NullPointerException if the {@code seedBytes} array is
	 *         {@code null}.
	 */
	public static byte[] expandSeedToBytes(final long seed, final byte[] seedBytes) {
		long seedValue = seed;
		for (int i = 0, len = seedBytes.length; i < len;) {
			final int n = min(len - i, Long.SIZE/Byte.SIZE);
			final byte[] bytes = toBytes(seedValue);