Skip to content

FunctionEngine

Defined in: src/engine/function-engine.ts:17

Wraps a plain () => number in [0, 1) as an engine.

Anywhere an engine is accepted, a bare function is accepted too and wrapped for you; this is what does the wrapping.

import { Random } from "ransu";
// The function is adopted automatically.
new Random(() => Math.random()).integer(1, 6); // 4

new FunctionEngine(fn): FunctionEngine

Defined in: src/engine/function-engine.ts:23

() => number

FunctionEngine

readonly algorithm: "function" = "function"

Defined in: src/engine/function-engine.ts:18

Identifies the algorithm in EngineState.

Engine.algorithm


readonly seedable: false = false

Defined in: src/engine/function-engine.ts:19

Whether the engine can be re-seeded. Math.random and the CSPRNG cannot.

Engine.seedable

clone(): Engine

Defined in: src/engine/function-engine.ts:35

Engine

Engine.clone


nextFloat64(): number

Defined in: src/engine/function-engine.ts:31

A uniform double in [0, 1) with 53 bits of precision.

number

Engine.nextFloat64


nextUint32(): number

Defined in: src/engine/function-engine.ts:27

A uniform integer in [0, 2^32).

number

Engine.nextUint32