nextFloat64

import { nextFloat64 } from "jsr:@ende/random";

function ยท experimental

function nextFloat64(getRandomValues: RandomValueGenerator): number

Get a float64 in the range [0, 1) from a random value generator.

getRandomValues: RandomValueGenerator

A 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);

Source