可以通过Cython或C-wrapper库(如CFFI)访问下面的各种发行版。所有函数都接受 bitgen_t 作为他们的第一个论点。要从Cython或C访问这些,必须链接 npyrandom 类库是NumPy发行版的一部分,位于 numpy/random/lib .
bitgen_t
npyrandom
numpy/random/lib
这个 bitgen_t 保存位生成器的当前状态,并指向在推进状态时返回标准C类型的函数的指针。
struct bitgen: void *state npy_uint64 (*next_uint64)(void *st) nogil uint32_t (*next_uint32)(void *st) nogil double (*next_double)(void *st) nogil npy_uint64 (*next_raw)(void *st) nogil ctypedef bitgen bitgen_t
见 延伸 有关使用这些函数的示例。
这些函数使用以下约定命名:
“标准”是指任何参数的参考值。例如,“标准统一”是指间隔上的均匀分布 0.0 到 1.0
0.0
1.0
“填充”功能将填充所提供的 out 具有 cnt 价值观。
out
cnt
名称中没有“标准”的函数需要额外的参数来描述分布。
zig 在名称上都是基于一个ziggurat查找算法,是用来代替计算的 log ,速度明显加快。非ziggurat变体用于角落案例和遗留兼容性。
zig
log
random_standard_uniform
random_standard_uniform_fill
random_standard_exponential
random_standard_exponential_fill
random_standard_normal
random_standard_normal_fill
random_standard_normal_fill_f
random_standard_gamma
random_standard_uniform_f
random_standard_uniform_fill_f
random_standard_exponential_f
random_standard_exponential_fill_f
random_standard_normal_f
random_standard_gamma_f
random_normal
random_gamma
random_gamma_f
random_exponential
random_uniform
random_beta
random_chisquare
random_f
random_standard_cauchy
random_pareto
random_weibull
random_power
random_laplace
random_gumbel
random_logistic
random_lognormal
random_rayleigh
random_standard_t
random_noncentral_chisquare
random_noncentral_f
random_wald
random_vonmises
random_triangular
random_poisson
random_negative_binomial
binomial_t
typedef struct s_binomial_t { int has_binomial; /* !=0: following parameters initialized for binomial */ double psave; RAND_INT_TYPE nsave; double r; double q; double fm; RAND_INT_TYPE m; double p1; double xm; double xl; double xr; double c; double laml; double lamr; double p2; double p3; double p4; } binomial_t;
random_binomial
random_logseries
random_geometric_search
random_geometric_inversion
random_geometric
random_zipf
random_hypergeometric
random_interval
random_multinomial
random_multivariate_hypergeometric_count
random_multivariate_hypergeometric_marginals
生成单个整数
random_positive_int64
random_positive_int32
random_positive_int
random_uint
以闭区间生成随机uint64数 [关,关+rng] .
random_bounded_uint64