SHISHUA: The fastest PRNG. A seedrandom-compatible random number generator.
Project description
SHISHUA for Python: The fastest PRNG
The official page for SHISHUA is here.
This PyPI package provides bindings for Python.
from shishua import SHISHUA
rng = SHISHUA(0)
buffer = rng.random_raw(1 << 30) # 1 GiB
# It takes 1s on my laptop.
NumPy support:
import numpy
from shishua import SHISHUA
buffer = numpy.random.Generator(SHISHUA()).bytes(1024)
print(buffer.hex())
API
SHISHUA(seed=None)
Returns a generator instance initialized with the given seed.
The seed
determines the sequence of numbers that this function returns:
print(SHISHUA('seed').random_raw(10).hex())
#> 1aa64a39f6949b969e97
print(SHISHUA('seed').random_raw(10).hex())
#> 1aa64a39f6949b969e97
print(SHISHUA('different seed, different values').random_raw(10).hex())
#> 216a0889a858eb57ae30
The seed can be either:
- A list of four 64-bit integers, to map exactly to the functionality provided by the underlying SHISHUA algorithm,
- A string, which is hashed into the four integers,
- A single integer, which sets the first of the four,
- If not provided (or undefined), a random seed is generated from the system's CSPRNG.
Associated methods
The object returned by calling SHISHUA()
also has the following methods,
which all tap into the stream generated by the seed:
.random_raw(size)
, which returns abytes
filled with random bytes.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
shishua-0.2.0.tar.gz
(53.7 kB
view details)
File details
Details for the file shishua-0.2.0.tar.gz
.
File metadata
- Download URL: shishua-0.2.0.tar.gz
- Upload date:
- Size: 53.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.8.10
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cec6d4d2f12af7dfeaebc6903d56660938a3292b5dbb87ad5ef3a5b6fb98695 |
|
MD5 | 77c0815c55dc305ac312ee1b036700ce |
|
BLAKE2b-256 | 83ea4fb68a9ab938f46a4aa3c6d8e1db6aeb24b64dcc5e6439a1aaebf35f8428 |