|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/impl/ele_mul.h"#include "../../../include/lammp/impl/mparam.h"#include "../../../include/lammp/impl/prime_table.h"#include "../../../include/lammp/impl/longlong.h"
nPr.c 的引用(Include)关系图:宏定义 | |
| #define | mul_1(dst, rn, v) |
函数 | |
| static uint | count_factors (fac_ptr fac, uint nfactors, uint n, uint r, uint p) |
| mp_size_t | lmmp_nPr_ (mp_ptr restrict dst, mp_bitcnt_t bits, mp_size_t rn, ulong n, ulong r) |
| mp_size_t | lmmp_nPr_size_ (ulong n, ulong r, mp_bitcnt_t *restrict bits) |
| static mp_size_t | lmmp_odd_nPr_product_ (mp_ptr restrict dst, mp_size_t rn, uint n, uint r) |
| 使用累乘函数计算nPr(奇数部分) | |
| mp_size_t | lmmp_odd_nPr_uint_ (mp_ptr restrict dst, mp_size_t rn, ulong n, ulong r) |
| mp_size_t | lmmp_odd_nPr_ulong_ (mp_ptr restrict dst, mp_size_t rn, ulong n, ulong r) |
| mp_size_t | lmmp_odd_nPr_ushort_ (mp_ptr restrict dst, mp_size_t rn, ulong n, ulong r) |
变量 | |
| static const ulong | odd_factorial [25] |
| #define mul_1 | ( | dst, | |
| rn, | |||
| v | |||
| ) |
引用了 _udiv32by32_q_preinv, fac_t::f, fac_t::j , 以及 MP_ULONG_MAX.
被这些函数引用 lmmp_odd_nPr_uint_() , 以及 lmmp_odd_nPr_ushort_().
这是这个函数的调用关系图:引用了 LIMB_BITS, lmmp_debug_assert, lmmp_odd_nPr_uint_(), lmmp_odd_nPr_ulong_(), lmmp_odd_nPr_ushort_(), lmmp_shl_(), lmmp_zero, NPR_INT_LIMIT , 以及 NPR_SHORT_LIMIT.
函数调用图:| mp_size_t lmmp_nPr_size_ | ( | ulong | n, |
| ulong | r, | ||
| mp_bitcnt_t *restrict | bits | ||
| ) |
引用了 DBL_2POW_MANT_DIG_, LIMB_BITS, lmmp_limb_popcnt_(), lmmp_pow_1_size_() , 以及 LOG2_.
函数调用图:使用累乘函数计算nPr(奇数部分)
引用了 ctz_shl, lmmp_copy, lmmp_elem_mul_ulong_(), MP_UINT_MAX, TALLOC_TYPE, TEMP_DECL, TEMP_FREE , 以及 tp.
被这些函数引用 lmmp_odd_nPr_uint_() , 以及 lmmp_odd_nPr_ushort_().
函数调用图:
这是这个函数的调用关系图:引用了 BALLOC_TYPE, count_factors(), ctz_shl, prime_cache_t::is_end, lmmp_factors_mul_(), lmmp_odd_nPr_product_(), lmmp_param_assert, lmmp_prime_cache_free_(), lmmp_prime_cache_init_(), lmmp_prime_cache_next_(), lmmp_prime_int_table_init_(), lmmp_prime_size_(), mul_1, NPR_INT_LIMIT, PERMUTATION_UINT_TIMES_THRESHOLD, prime_cache_t::pp, prime_cache_t::size, TEMP_B_DECL , 以及 TEMP_B_FREE.
被这些函数引用 lmmp_nPr_().
函数调用图:
这是这个函数的调用关系图:引用了 ctz_shl, lmmp_copy, lmmp_elem_mul_ulong_(), lmmp_param_assert, TALLOC_TYPE, TEMP_DECL, TEMP_FREE , 以及 tp.
被这些函数引用 lmmp_nPr_().
函数调用图:
这是这个函数的调用关系图:引用了 count_factors(), ctz_shl, lmmp_copy, lmmp_debug_assert, lmmp_elem_mul_ulong_(), lmmp_factors_mul_(), lmmp_odd_nPr_product_(), lmmp_param_assert, lmmp_prime_cnt16_(), MP_UCHAR_MAX, mul_1, NPR_SHORT_LIMIT, odd_factorial, ODD_FACTORIAL_SIZE, PERMUTATION_USHORT_TIMES_THRESHOLD, prime_short_table, SALLOC_TYPE, TALLOC_TYPE, TEMP_DECL, TEMP_FREE, TEMP_S_DECL, TEMP_S_FREE , 以及 tp.
被这些函数引用 lmmp_nPr_().
函数调用图:
这是这个函数的调用关系图:
|
static |
被这些函数引用 lmmp_odd_nPr_ushort_().