|
LMMC
Lamina Mathematic core
|
结构体 | |
| struct | lmmc_rng_t |
| 随机数发生器(不透明类型)。 更多... | |
函数 | |
| double | lmmc_rng_standard_normal (uint64_t *state) |
| 用 256 层 Ziggurat 采样标准正态:先采样 |x|,再随机赋予符号。 | |
| struct lmmc_rng_t |
| double lmmc_rng_standard_normal | ( | uint64_t * | state | ) |
用 256 层 Ziggurat 采样标准正态:先采样 |x|,再随机赋予符号。
< 层号,范围 0..255。
< 第 8 位决定符号。
用独立随机数在 [0, xtab[i]) 内均匀采样。
第 0 层包含尾部。
区间 [xtab[1], xtab[0]) 的候选值采用尾部采样。
楔形区以 (f(x) - f(xtab[i])) / (f(xtab[i+1]) - f(xtab[i])) 的概率接受。
< 外边缘密度,值较小。
< 内边缘密度,值较大。
在文件 random_normal.c 第 50 行定义.
引用了 lmmc_rng_standard_normal().
被这些函数引用 lmmc_rng_gamma(), lmmc_rng_normal(), lmmc_rng_standard_normal() , 以及 lmmc_rng_student_t().