LMMC
Lamina Mathematic core
载入中...
搜索中...
未找到
random_internal.h 文件参考
#include <stdint.h>
#include "lmmc/random.h"
random_internal.h 的引用(Include)关系图:
此图展示该文件被哪些文件直接或间接地引用了:

浏览该文件的源代码.

结构体

struct  lmmc_rng_t
 随机数发生器(不透明类型)。 更多...

函数

double lmmc_rng_standard_normal (uint64_t *state)
 用 256 层 Ziggurat 采样标准正态:先采样 |x|,再随机赋予符号。

结构体说明

◆ lmmc_rng_t

struct lmmc_rng_t

随机数发生器(不透明类型)。

在文件 random_internal.h 第 7 行定义.

lmmc_rng_t 的协作图:
成员变量
uint64_t state[4]

函数说明

◆ lmmc_rng_standard_normal()

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().

函数调用图:
这是这个函数的调用关系图: