|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
rand_state.h 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:结构体 | |
| struct | pcg64_128_state |
| Copyright (C) 2026 HJimmyK(Jericho Knox) 更多... | |
| struct | pcg64_le_seq_t |
| struct | xoshiro256pp_state |
宏定义 | |
| #define | INLINE_ static inline |
| #define | PCG128_DEFAULT_MULTIPLIER_HI 0x2360ED051FC65DA4ULL |
| #define | PCG128_DEFAULT_MULTIPLIER_LO 0x4385DF649FCCF645ULL |
| #define | PCG64_LE_INCREMENT 1442695040888963407ULL |
| #define | PCG64_LE_MULTIPLIER 6364136223846793005ULL |
| #define | PRIME64_0 0x9E3779B185EBCA87ULL |
| #define | PRIME64_1 0xC2B2AE3D27D4EB4FULL |
| #define | PRIME64_2 0x165667B19E3779F9ULL |
| #define | PRIME64_3 0x85EBCA77C2B2AE63ULL |
| #define | PRIME64_4 0x27D4EB2F165667C5ULL |
| struct pcg64_128_state |
Copyright (C) 2026 HJimmyK(Jericho Knox)
This file is part of LAMMP.
LAMMP is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License (LGPL) as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
This program is distributed WITHOUT ANY WARRANTY.
See https://www.gnu.org/licenses/.
在文件 rand_state.h 第 22 行定义.
pcg64_128_state 的协作图:| 成员变量 | ||
|---|---|---|
| mp_limb_t | inc[2] | |
| mp_limb_t | state[2] | |
| struct pcg64_le_seq_t |
| struct xoshiro256pp_state |
在文件 rand_state.h 第 35 行定义.
| #define PCG128_DEFAULT_MULTIPLIER_HI 0x2360ED051FC65DA4ULL |
在文件 rand_state.h 第 31 行定义.
| #define PCG128_DEFAULT_MULTIPLIER_LO 0x4385DF649FCCF645ULL |
在文件 rand_state.h 第 32 行定义.
在文件 rand_state.h 第 121 行定义.
在文件 rand_state.h 第 120 行定义.
| #define PRIME64_0 0x9E3779B185EBCA87ULL |
| #define PRIME64_1 0xC2B2AE3D27D4EB4FULL |
| #define PRIME64_2 0x165667B19E3779F9ULL |
| #define PRIME64_3 0x85EBCA77C2B2AE63ULL |
| #define PRIME64_4 0x27D4EB2F165667C5ULL |
|
inlinestatic |
在文件 rand_state.h 第 79 行定义.
引用了 pcg64_128_state::inc, lmmp_param_assert, pcg64_128_action() , 以及 pcg64_128_state::state.
被这些函数引用 lmmp_seed_random_().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 rand_state.h 第 64 行定义.
引用了 pcg64_128_state::inc, lmmp_param_assert, pcg64_128_action(), rotl() , 以及 pcg64_128_state::state.
被这些函数引用 lmmp_seed_random_().
函数调用图:
这是这个函数的调用关系图:种子生成器
| seed | 低熵种子 |
在文件 rand_state.h 第 48 行定义.
被这些函数引用 lmmp_global_rng_init_(), lmmp_random_(), lmmp_strong_rng_extern_(), lmmp_strong_rng_init_(), pcg64_le_seq_init() , 以及 pcg64_le_seq_next().
这是这个函数的调用关系图:
|
inlinestatic |
在文件 rand_state.h 第 91 行定义.
引用了 lmmp_param_assert, rotl(), xoshiro256pp_state::s , 以及 t.
被这些函数引用 lmmp_seed_random_() , 以及 lmmp_xoshiro256pp_srandom().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 rand_state.h 第 106 行定义.
引用了 lmmp_param_assert, lmmp_xoshiro256pp_random(), rotl() , 以及 xoshiro256pp_state::s.
被这些函数引用 lmmp_seed_random_().
函数调用图:
这是这个函数的调用关系图:在文件 rand_state.h 第 55 行定义.
引用了 _u128add, _umul64to128_(), PCG128_DEFAULT_MULTIPLIER_HI, PCG128_DEFAULT_MULTIPLIER_LO , 以及 tmp.
被这些函数引用 lmmp_pcg64_128_random() , 以及 lmmp_pcg64_128_srandom().
函数调用图:
这是这个函数的调用关系图:在文件 rand_state.h 第 168 行定义.
引用了 PCG64_LE_INCREMENT , 以及 PCG64_LE_MULTIPLIER.
被这些函数引用 pcg64_le_seq_next().
这是这个函数的调用关系图:
|
inlinestatic |
在文件 rand_state.h 第 128 行定义.
引用了 pcg64_le_seq_t::k, lmmp_param_assert, lmmp_seed_generator(), PRIME64_0, PRIME64_1, PRIME64_2, PRIME64_3, PRIME64_4, rotl(), s1, s2, s3 , 以及 pcg64_le_seq_t::state.
被这些函数引用 lmmp_strong_rng_extern_() , 以及 lmmp_strong_rng_init_().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
在文件 rand_state.h 第 182 行定义.
引用了 k, lmmp_param_assert, lmmp_seed_generator(), n, pcg64_le_action(), PCG64_LE_INCREMENT , 以及 PCG64_LE_MULTIPLIER.
被这些函数引用 lmmp_strong_random_().
函数调用图:
这是这个函数的调用关系图:在文件 rand_state.h 第 38 行定义.
引用了 k.
被这些函数引用 lmmp_pcg64_128_srandom(), lmmp_random_(), lmmp_strong_rng_extern_(), lmmp_strong_rng_init_(), lmmp_xoshiro256pp_random(), lmmp_xoshiro256pp_srandom() , 以及 pcg64_le_seq_init().
这是这个函数的调用关系图: