fast-check
Version:
Property based testing framework for JavaScript (like QuickCheck)
71 lines (70 loc) • 2.13 kB
TypeScript
import type { RandomGenerator } from 'pure-rand';
/**
* Wrapper around an instance of a `pure-rand`'s random number generator
* offering a simpler interface to deal with random with impure patterns
*
* @public
*/
export declare class Random {
private static MIN_INT;
private static MAX_INT;
private static DBL_FACTOR;
private static DBL_DIVISOR;
/**
* Create a mutable random number generator by cloning the passed one and mutate it
* @param sourceRng - Immutable random generator from pure-rand library, will not be altered (a clone will be)
*/
constructor(sourceRng: RandomGenerator);
/**
* Clone the random number generator
*/
clone(): Random;
/**
* Generate an integer having `bits` random bits
* @param bits - Number of bits to generate
*/
next(bits: number): number;
/**
* Generate a random boolean
*/
nextBoolean(): boolean;
/**
* Generate a random integer (32 bits)
*/
nextInt(): number;
/**
* Generate a random integer between min (included) and max (included)
* @param min - Minimal integer value
* @param max - Maximal integer value
*/
nextInt(min: number, max: number): number;
/**
* Generate a random bigint between min (included) and max (included)
* @param min - Minimal bigint value
* @param max - Maximal bigint value
*/
nextBigInt(min: bigint, max: bigint): bigint;
/**
* Generate a random ArrayInt between min (included) and max (included)
* @param min - Minimal ArrayInt value
* @param max - Maximal ArrayInt value
*/
nextArrayInt(min: {
sign: 1 | -1;
data: number[];
}, max: {
sign: 1 | -1;
data: number[];
}): {
sign: 1 | -1;
data: number[];
};
/**
* Generate a random floating point number between 0.0 (included) and 1.0 (excluded)
*/
nextDouble(): number;
/**
* Extract the internal state of the internal RandomGenerator backing the current instance of Random
*/
getState(): readonly number[] | undefined;
}