支持多个伪随机数生成器的随机生成器
项目描述
RandomGen
此软件包包含为NumPy的Generator
和ExtendedGenerator
提供额外位生成器的包,后者公开了不在Generator
中的方法。
持续集成
覆盖率
最新版本
许可证
这是一个Python和NumPy中替代随机生成器的库和通用接口。
新功能
警告
v1.24版本中的变更
在1.23.0版本中,已移除Generator
和RandomState
。
1.18到1.19的更改
Generator
和RandomState
已在1.19版本中正式弃用,并且在移除时会发出FutureWarning
。它们也将几乎不再得到维护。现在是时候转移到NumPy的np.random.Generator
了,它具有randomstate.Generator
中不存在的功能,并且维护得更加活跃。
一些不在np.random.Generator
中存在的分布已被移动到randomstate.ExtendedGenerator
multivariate_normal
:支持广播uintegers
:快速的32位和64位均匀整数complex_normal
:标量复数正态分布
没有计划移除任何位生成器,例如AESCounter
、ThreeFry
或PCG64
。
1.16到1.18的更改
在v1.16.x和v1.18.x之间有许多更改。这些更改反映了与NumPy一起在准备将randomgen
的核心用作NumPy首选随机数生成器时做出的API决策。除了BasicRNG.generator
(它引发NotImplementedError
)之外,所有这些都会发出DeprecationWarning
。C-API也已更改,以反映首选的底层伪随机数生成器的命名,这些生成器现在被称为位生成器(或BigGenerator
)。
未来计划
- 添加一些NumPy不支持的分位数。 进行中
- 添加任何我遇到的有趣的位生成器。 最近添加的包括PCG64的DXSM和CM-DXSM变体以及LXM生成器。
包含的伪随机数生成器
本模块除了包含NumPy中包含的MT19937之外,还包括其他一些替代随机数生成器。这些RNG包括
- 基于AES、ChaCha20、HC128和Speck128的加密密钥随机数生成器。
- MT19937,NumPy rng
- dSFMT,MT19937生成器的SSE2感知版本,在生成双精度数时特别快速
- xoroshiro128+、xorshift1024*φ、xoshiro256**和xoshiro512**
- PCG64
- 来自Random123的ThreeFry和Philox
- 其他基于加密的生成器:
AESCounter
、SPECK128
、ChaCha
和HC128
。 - 在AMD64上使用
RDRAND
的硬件(不可重现)随机数生成器。 - 混沌PRNGS:Small-Fast Chaotic (
SFC64
)和Jenkin's Small-Fast (JSF
)。
状态
- 在以下环境中构建并通过所有测试
- Linux 32/64位,Python 3.7,3.8,3.9,3.10
- Linux (ARM/ARM64),Python 3.8
- OSX 64位,Python 3.9
- Windows 32/64位,Python 3.7,3.8,3.9,3.10
- FreeBSD 64位
版本
软件包版本与软件包发布时的最新NumPy版本相匹配。
文档
最新发布版本的文档可在我的GitHub页面上找到。最新提交(未发布)的文档可在devel下找到。
需求
构建需要
- Python (3.9,3.10,3.11,3.12,3.13)
- NumPy (1.22.3+,运行时,2.0.0+,构建)
- Cython (3.0.10+)
测试需要pytest (7+).
注意:它可能与其他版本一起工作,但仅对这些版本进行了测试。
开发和测试
所有开发都在64位Linux上进行,并且它定期在Azure(Linux-AMD64、Windows和OSX)和Cirrus(FreeBSD和Linux-ARM)上测试。
为所有RNG提供了测试。MT19937与NumPy的实现进行了测试,以确保结果相同。它还通过了NumPy的测试套件中仍然相关的测试。
安装
可以使用以下方式从PyPi安装
python -m pip install randomgen
或者,如果您想要最新版本,
python -m pip install git+https://github.com/bashtage/randomgen.git
或者从克隆的仓库中安装,
python -m pip install .
如果您使用conda,您可以使用conda forge安装
conda install -c conda-forge randomgen
SSE2
dSFTM
默认使用 SSE2。如果您拥有非常老的计算机或者在非-x86平台上构建,可以使用以下方法进行安装:
export RANDOMGEN_NO_SSE2=1
python -m pip install .
Windows
可以选择使用二进制安装程序,或者从头开始构建,使用 Python 3.6/3.7 和 Visual Studio 2015 Build Toolx。
许可证
双许可:BSD 3-Clause 和 NCSA,以及组件的子许可证。
项目详情
randomgen-2.1.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2f402afff92d2025e0a054bd5aa3069bed476951f18a5476c715cb695f3c418b |
|
MD5 | b289405531b5d8eac4ac910e9373f211 |
|
BLAKE2b-256 | cb6514c662297f30b78c9a7482d8326fcac54992bcf180a8ffba7500b91d2335 |
randomgen-2.1.1-cp313-cp313-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7d63859f3bf841d54d698b30267a9f2b5663c1bf5b8439d5a18188ed361a0842 |
|
MD5 | be3a26ea7056cc0783fe2aacf26a7d79 |
|
BLAKE2b-256 | a4ae89dddf238e5ccdc3b600b169654328d6765f05156ba94fde9d0788d66474 |
randomgen-2.1.1-cp313-cp313-musllinux_1_2_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9d4b561ba826c159f450e2dbe422bf4043e619552d49192bb2bf556538b61c24 |
|
MD5 | 90cc282deaad58b7cfb216214762cb85 |
|
BLAKE2b-256 | 2ed976d116cba7f48f29bee755394ca88451fd5cab2f7211f603c9a9c0ae02dd |
randomgen-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 63a40c6aba83276950f02b7f8619a24ecef68065fe468950583495e18de86678 |
|
MD5 | f5d009b430e5799e54dcb96c90f55242 |
|
BLAKE2b-256 | 55acb09d673970010db1e508220896e6125bf7cc873736054f49b44d4e6e5cb3 |
randomgen-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 378fe12392dc03c1274a52d874bc915f9427b75dbd6f884577fd92fe91059652 |
|
MD5 | 2352d85540003191a821ba59c2db24e4 |
|
BLAKE2b-256 | cd641fdef87ac27b0c39200fc716858c800525b7b8f3d9b2e56645ddff480294 |
randomgen-2.1.1-cp313-cp313-macosx_11_0_arm64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3ee2916e3faebdf2637c6acf533e4bae6bb8e86bed4ecca294e2f7104dfac63e |
|
MD5 | 33dc6e33ff0e00d4bc80a9e11d994a75 |
|
BLAKE2b-256 | 6ae1a5db43bb45751a29573ff677728b47848efb99c76f580488cd9d06f28d3f |
randomgen-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a904bc3593b5f448fb286c44f9b1269b67f82d53cc9131dfd75fe3283f592b55 |
|
MD5 | c740cd5ca320b55236973e56caf81e6f |
|
BLAKE2b-256 | 03925470a57a5224439c1f058fd3d1929afc257c40572e55b9b6ba8ca284e5b8 |
randomgen-2.1.1-cp312-cp312-win_amd64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9c641e1c36a5e3504a5e2ae539689636a827b89acec2d8b60526e5351b5807b6 |
|
MD5 | 6e23a18f8b301160d91a1236754e3a7d |
|
BLAKE2b-256 | 92eaa502b9e5fdcdf58af4a19bb9ae386201784ab7f60845db1b6f76d3b5a556 |
randomgen-2.1.1-cp312-cp312-musllinux_1_2_x86_64.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 440749d99fca2df7ac72cfde6fe310e7ed123530ad2a3f8a4cd05c1354b6fb51 |
|
MD5 | d5c1a549b3f87e48f826891575f2afb3 |
|
BLAKE2b-256 | 26603ae416c7245853fbc2081368104f1dafc66fa87d4fcccebc62403f9c047e |
哈希值 用于 randomgen-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6a02b77218ae7a7b3df8938a0ecd7f0cfe22993b2caf05f7cabbb5fe38e38d0f |
|
MD5 | 7c4a9c29be8c0517b849c93ff056e96e |
|
BLAKE2b-256 | c305d083ff3e861852e01079fc33ab85117b138b6a423ace6e7bd2ec269d5f67 |
哈希值 用于 randomgen-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9fe2f91e59436c138c83da108b50bf9109c256d9e0b16403a112eda2fc20c469 |
|
MD5 | e5d44568b8d634d14b7272c284d0f5a7 |
|
BLAKE2b-256 | 41c7e68b85efb8e3746d0b9266121cb2bb19d28f83080b43c43c9a86b4629281 |
哈希值 用于 randomgen-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0085fc33c9ca1ed16d67b37e5686b8fa51422656bccb0cc903367a1bdc931bc |
|
MD5 | c9d589c1b3c6a228d8aae746cfc1152e |
|
BLAKE2b-256 | 5d4ce0fc9a12c5fa4a85c099f1e643dfa068f62844c09ed80c1a0f36d214b3b0 |
哈希值 用于 randomgen-2.1.1-cp312-cp312-macosx_10_13_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d97f254c7eac9c92be87cf3c208e5a64304cbcdef08169d3f120461315bd76ef |
|
MD5 | 8170da98c15ed9d96c59136a5c2452e8 |
|
BLAKE2b-256 | 30b678cb9d6d8c8bb134b780be5eba98ed8853eda9906445e0cc1c7b977e43d1 |
哈希值 用于 randomgen-2.1.1-cp311-cp311-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 652e7913c01212c426cc3230518743dc4e838c8cef4659a2ff0b6427cc11d89b |
|
MD5 | d2777a14211abb3a9fbb7bc3139e5e6f |
|
BLAKE2b-256 | 23ce863e4bfe5500be1a1c0df35594830bd589e870d3f24d3a6b8c49eb98d3ff |
哈希值 用于 randomgen-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 61b5794658c9a51b6ea5a2fecbb91bcfae142551867e295f8a267e2d6b5bf859 |
|
MD5 | 349902fe90e9b354fb03011249ffcfd4 |
|
BLAKE2b-256 | 1109637333df7d27c2f28f72efcf23cb4adf94c2f7231f3e3735f9d57455ef99 |
哈希值 用于 randomgen-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4c5a8f147bf3b6f68b4fadf8fe0a9b46c7c0e9c9f474aa194b8db0886677c11f |
|
MD5 | c84f13e876ac0386986f62bf2186f69a |
|
BLAKE2b-256 | b1d4b199266de7b219f3ec34831f8b7b033df6b3349584e8caa84e8165ff3fb5 |
哈希值 用于 randomgen-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9c467d3a2bfd863b9853a49b07b9e03e432084bef3a1a0d59259d31134509788 |
|
MD5 | ec067e959ea5d044e3c5d886444a1ffa |
|
BLAKE2b-256 | 0446ecd8a21b1ed3deb91c9e81bfd84915adddcace91a4ac44a051031497f9c9 |
哈希值 用于 randomgen-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 05cb0c68f1a4db9099f2f82c25725fbdd18e8dd7891f6241b247243f431693b3 |
|
MD5 | cd37c21953fe053396b656230e73560c |
|
BLAKE2b-256 | 8e4a1e0074ee9fe0ddeced394019cea140e5b1a4257cd569e8363d210bbf20aa |
哈希值 用于 randomgen-2.1.1-cp310-cp310-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5d350c48aabb0245a14da5e33352aed8d11f5911b11668c737b049be8b441228 |
|
MD5 | a8a4922537b20d38abcdb6860f75eb9a |
|
BLAKE2b-256 | 0cd3da0a692ca4d11f4874e669d9550f6828d83785e34ab75e3f599cc6073eba |
哈希值 用于 randomgen-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4ec3a57faa6ebe0eff7baa5d1c462472702adefc93721bee971b8d490c8d38e3 |
|
MD5 | 867d779c47248aa8b0a514acf69395fe |
|
BLAKE2b-256 | 8d09e17de8f4215f52525da09b8269fc2cee1095c1a75ac4d141562217defaa2 |
哈希值 对于 randomgen-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 03a8df871ac9bade6e570d5a6aa05823bcc25a8aea23394e2bc090cf388b1862 |
|
MD5 | dfd643133d670491d36defeef1ddab8f |
|
BLAKE2b-256 | 8829c87613e6bae921e21b3aa0025b47eed31bfef6f71a2021c73c2a1bc36ec5 |
哈希值 对于 randomgen-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b0adb770932185fccabdd25e3428e6798399ab70871da0f8adcfc2656cbded81 |
|
MD5 | bd4d8bc2b3a6e0b3d6936c541bfd2eb7 |
|
BLAKE2b-256 | 7017a692a83f0d2cf137f3e205780d549322c716720cf3e31258a6aa9689954f |
哈希值 对于 randomgen-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ebbc9fc43c9142e1e9a02a7a0d19adf6c7092dce4456f3ee07706432da6529fc |
|
MD5 | d9a8ee28d8ba7ba898d80693b235ada3 |
|
BLAKE2b-256 | 264de784ce93431518fdb1c790afcddb0159fb1731c30855869396c575905f5b |
哈希值 对于 randomgen-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b2b3877a988ce7a8e3422e0d6bf42f69cad990fc52365b36db26527a78b6fc1a |
|
MD5 | 9d6e423074d39176f1d5398f0a3a5cdb |
|
BLAKE2b-256 | 7ae27169a6cfa2c6e45481e54714d4304693ab434ca253deb7816b26c4be5f39 |
哈希值 对于 randomgen-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 97213521a6408d42843112170f7aa66645fd6688a1e5e7d574383dac92bdffbd |
|
MD5 | a635746ce89dafac8fd111151e281c4b |
|
BLAKE2b-256 | 71fa9c071f1c800afbc94e562570fb1b4f22a52a24702e950139c0c377dc4b29 |
哈希值 对于 randomgen-2.1.1-cp39-cp39-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d1dd8394bab0c6d97e082b93895e541052020ffe70d0494e59f23198ae6d95b4 |
|
MD5 | 7df4e1e7e3ba956788f79ed456e05106 |
|
BLAKE2b-256 | faa95d2356d4a6d7fcfad4cc17f563d228b1ddd9076c09dd29541139a832b72b |
哈希值 对于 randomgen-2.1.1-cp39-cp39-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4972db5e3f167e0362dd8cfc77e3038d27f548a136daa1cf9abbec638206c4e9 |
|
MD5 | a2b4eb23a937a4198c08f3602cfdb11c |
|
BLAKE2b-256 | 7bd6e0ab46d0757f6976a1145763c4412433175c9be9a0e77980ca47b25906dd |