|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/lmmpn.h"#include "../../../include/lammp/numth.h"#include "../../../include/lammp/impl/longlong.h"
tiny.c 的引用(Include)关系图:函数 | |
| int | lmmp_leading_zeros_ (mp_limb_t x) |
| 计算一个单精度数(limb)中前导零的个数 | |
| int | lmmp_limb_bits_ (mp_limb_t x) |
| 计算满足 2^k > x 的最小自然数k | |
| int | lmmp_limb_popcnt_ (mp_limb_t x) |
| 计算一个64位无符号整数中1的个数 | |
| mp_limb_t | lmmp_mulh_ (mp_limb_t a, mp_limb_t b) |
| 计算两个64位无符号整数相乘的高位结果 (a*b)/2^64 | |
| void | lmmp_mullh_ (mp_limb_t a, mp_limb_t b, mp_ptr restrict dst) |
| ulong | lmmp_mulmod_ulong_ (ulong a, ulong b, ulong mod, ulongp restrict q) |
| int | lmmp_tailing_zeros_ (mp_limb_t x) |
| 计算一个单精度数(limb)中末尾零的个数 | |
| int lmmp_leading_zeros_ | ( | mp_limb_t | x | ) |
计算一个单精度数(limb)中前导零的个数
| x | 输入的64位无符号整数 |
被这些函数引用 lmmp_bninv_(), lmmp_div_(), lmmp_div_1_(), lmmp_div_2_(), lmmp_inv_(), lmmp_mod_1_(), lmmp_mod_2_(), lmmp_mulmod_ulong_(), lmmp_pow_basecase_(), lmmp_sqrt_(), lmmp_sqrt_newton_(), lmmp_to_str_() , 以及 mont63_R2().
这是这个函数的调用关系图:| int lmmp_limb_bits_ | ( | mp_limb_t | x | ) |
计算满足 2^k > x 的最小自然数k
| x | 输入的64位无符号整数 |
引用了 k.
被这些函数引用 lmmp_extract_bits_(), lmmp_from_str_(), lmmp_lehmer_extract_(), lmmp_pow_(), lmmp_to_str_() , 以及 lmmp_to_str_len_().
这是这个函数的调用关系图:| int lmmp_limb_popcnt_ | ( | mp_limb_t | x | ) |
计算一个64位无符号整数中1的个数
| x | 输入的64位无符号整数 |
引用了 k.
被这些函数引用 lmmp_factorial_size_(), lmmp_multinomial_(), lmmp_nCr_size_(), lmmp_nPr_size_() , 以及 lmmp_pow_().
这是这个函数的调用关系图:计算两个64位无符号整数相乘的高位结果 (a*b)/2^64
| a | 第一个64位无符号整数 |
| b | 第二个64位无符号整数 |
被这些函数引用 lmmp_from_str_len_(), lmmp_to_str_basecase_() , 以及 lmmp_to_str_len_().
这是这个函数的调用关系图:引用了 _u128lshl, _udiv_qrnnd_preinv, _umul64to128_(), lmmp_inv_1_() , 以及 lmmp_leading_zeros_().
函数调用图:| int lmmp_tailing_zeros_ | ( | mp_limb_t | x | ) |
计算一个单精度数(limb)中末尾零的个数
| x | 输入的64位无符号整数 |
被这些函数引用 lmmp_from_str_(), lmmp_gcd_11_(), lmmp_gcd_22_(), lmmp_pow_(), lmmp_pow_1_(), lmmp_to_str_() , 以及 pow_nPr_().
这是这个函数的调用关系图: