nextFloat64
import { nextFloat64 } from "jsr:@ende/random";function ยท experimental
function nextFloat64(getRandomValues: RandomValueGenerator): numberGet a float64 in the range [0, 1) from a random value generator.
getRandomValues: RandomValueGeneratorA function that fills a typed array with random values.
Returns
A float64 in the range [0, 1).
Example: With a seeded value generator
import { nextFloat64, getRandomValuesSeeded } from "@ende/random";
import { assertEquals } from "@ende/assert";
const getRandomValues = getRandomValuesSeeded(1n);
assertEquals(nextFloat64(getRandomValues), 0.49116444173310125);
assertEquals(nextFloat64(getRandomValues), 0.06903754193160427);
assertEquals(nextFloat64(getRandomValues), 0.16063206851777034);
Example: With an arbitrary value generator
import { nextFloat64 } from "@ende/random";
import { assertLess, assertGreaterOrEqual } from "@ende/assert";
const val = nextFloat64(crypto.getRandomValues.bind(crypto)); // example: 0.8928746327842533
assertGreaterOrEqual(val, 0);
assertLess(val, 1);