prngtest¶
- prngtest.monobit(bits)¶
Proportion of zeros and ones is compared to expected 1:1 ratio
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.blockfreq(bits, blocksize=None)¶
Proportion of values per block is compared to expected 1:1 ratio
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.runs(bits)¶
Number of runs is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
statistic (
int) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.blockruns(bits)¶
Longest runs per block is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.matrix(bits, nrows=None, ncols=None)¶
Independence of neighbouring subsequences is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.nrows (
Optional[int]) – Number of rows in each matrix. IfNone, a suitable default will be found.ncols (
Optional[int]) – Number of columns in each matrix. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.spectral(bits)¶
Potency of periodic features in sequence is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.notm(bits, tempsize=None, blocksize=None)¶
Matches to template per block is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.tempsize (
Optional[int]) – Size of template. IfNone, a suitable default will be found.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
results_map (
dict[frozenbitarray, tuple[float, float]]) – Mapping of each template to a tuple containing its respective test statistic and p-value.
- prngtest.otm(bits, tempsize=None, blocksize=None)¶
Overlapping matches to template per block is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.tempsize (
Optional[int]) – Size of template. IfNone, a suitable default will be found.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.universal(bits, blocksize=None, init_nblocks=None)¶
Distance between patterns is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.init_nblocks (
Optional[int]) – Number of blocks to be used in identifying patterns, beginning at the start of the sequence. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.complexity(bits, blocksize=None)¶
LSFRs of blocks is compared to expected length
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.serial(bits, blocksize=None)¶
Proportion of all overlapping patterns is compared to expected uniformity
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
first_result (
tuple[float, float]) – The first test’s statistic and p-value.second_result (
tuple[float, float]) – The second test’s statistic and p-value.
- prngtest.apen(bits, blocksize=None)¶
Approximate entropy of sequence is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.blocksize (
Optional[int]) – Size of the blocks that partition the given sequence. IfNone, a suitable default will be found.
- Returns
statistic (
float) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.cumsum(bits, reverse=False)¶
Furthest detour in a randomn walk is compared to expected result
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.reverse (
bool) – IfTrue, cumulate from the end of the sequence first.
- Returns
statistic (
int) – The test’s statistic.p (
float) – The test’s p-value.
- prngtest.excursions(bits)¶
Frequency of states per cycle in a random walk is compared to expected results
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
results_map (
dict[int, tuple[float, float]]) – Mapping of each state to a tuple containing its respective test statistic and p-value.
- prngtest.vexcursions(bits)¶
Proportion of states in a random walk is compared to expected results
- Parameters
bits (
str | Iterable[int] | bitarray) – Input sequence. If astr, must contain only"0"or"1". If an iterable of integers, must contain only0or1.- Returns
results_map (
dict[int, tuple[float, float]]) – Mapping of each state to a tuple containing its respective test statistic and p-value.