| cimport numpy as np |
| from libc.stdint cimport uint32_t, uint64_t |
|
|
| cdef extern from "numpy/random/bitgen.h": |
| struct bitgen: |
| void *state |
| uint64_t (*next_uint64)(void *st) nogil |
| uint32_t (*next_uint32)(void *st) nogil |
| double (*next_double)(void *st) nogil |
| uint64_t (*next_raw)(void *st) nogil |
|
|
| ctypedef bitgen bitgen_t |
|
|
| cdef class BitGenerator(): |
| cdef readonly object _seed_seq |
| cdef readonly object lock |
| cdef bitgen_t _bitgen |
| cdef readonly object _ctypes |
| cdef readonly object _cffi |
| cdef readonly object capsule |
|
|
|
|
| cdef class SeedSequence(): |
| cdef readonly object entropy |
| cdef readonly tuple spawn_key |
| cdef readonly Py_ssize_t pool_size |
| cdef readonly object pool |
| cdef readonly uint32_t n_children_spawned |
|
|
| cdef mix_entropy(self, np.ndarray[np.npy_uint32, ndim=1] mixer, |
| np.ndarray[np.npy_uint32, ndim=1] entropy_array) |
| cdef get_assembled_entropy(self) |
|
|
| cdef class SeedlessSeedSequence: |
| pass |
|
|
| # NOTE: This has no implementation and should not be used. It purely exists for |
| # backwards compatibility, see https: |
| cdef class SeedlessSequence: |
| pass |
| |