|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/lmmpn.h"
shl.c 的引用(Include)关系图:函数 | |
| mp_limb_t | lmmp_addshl1_n_ (mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n) |
| 加法结合左移1位操作 [dst,n] = [numa,n] + ([numb,n] << 1) | |
| mp_limb_t | lmmp_shl_ (mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_size_t shr) |
| 大数左移操作 [dst,na] = [numa,na]<<shl,dst的低shl位填充0 | |
| mp_limb_t | lmmp_shl_c_ (mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_size_t shr, mp_limb_t c) |
| 带进位的大数左移操作 [dst,na] = [numa,na]<<shl,dst的低shl位填充c的低shl位 | |
| mp_limb_t | lmmp_subshl1_n_ (mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n) |
| 减法结合左移1位操作 [dst,n] = [numa,n] - ([numb,n] << 1) | |
加法结合左移1位操作 [dst,n] = [numa,n] + ([numb,n] << 1)
| dst | 结果输出指针 |
| numa | 被加数指针 |
| numb | 加数指针(先左移1位) |
| n | limb长度 |
引用了 LIMB_BITS.
被这些函数引用 lmmp_mul_toom33_(), lmmp_mul_toom42_(), lmmp_mul_toom42_cache_(), lmmp_mul_toom42_cache_init_(), lmmp_mul_toom44_(), lmmp_mul_toom53_(), lmmp_mul_toom62_(), lmmp_mul_toom62_cache_(), lmmp_mul_toom62_cache_init_(), lmmp_sqr_toom3_(), lmmp_sqr_toom4_(), lmmp_sqrlo_dc_() , 以及 lmmp_sqrt_divide_().
这是这个函数的调用关系图:大数左移操作 [dst,na] = [numa,na]<<shl,dst的低shl位填充0
| dst | 结果输出指针 |
| numa | 源操作数指针 |
| na | limb长度 |
| shl | 左移的位数 (0~63) |
被这些函数引用 lmmp_10pow_1_(), lmmp_12pow_1_(), lmmp_14pow_1_(), lmmp_6pow_1_(), lmmp_arith_seqprod_(), lmmp_bninv_(), lmmp_bninv_appr_newton_(), lmmp_div_(), lmmp_factorial_(), lmmp_fft_shl_coef_(), lmmp_inv_(), lmmp_mul_fermat_recombine_(), lmmp_mul_mersenne_(), lmmp_mul_mersenne_single_(), lmmp_mul_toom43_(), lmmp_mul_toom44_(), lmmp_mul_toom53_(), lmmp_mul_toom62_(), lmmp_mul_toom62_cache_(), lmmp_mul_toom62_cache_init_(), lmmp_multinomial_(), lmmp_nCr_(), lmmp_nPr_(), lmmp_pow_1_(), lmmp_sqr_toom4_(), lmmp_sqrt_(), lmmp_sqrt_newton_(), lmmp_to_str_(), lmmp_to_str_divide_(), lmmp_toom_eval_dgr3_pm2_(), lmmp_toom_eval_pm2_(), lmmp_toom_interp5_(), lmmp_toom_interp6_(), lmmp_toom_interp7_() , 以及 pow_nPr_().
这是这个函数的调用关系图:带进位的大数左移操作 [dst,na] = [numa,na]<<shl,dst的低shl位填充c的低shl位
| dst | 结果输出指针 |
| numa | 源操作数指针 |
| na | limb长度 |
| shl | 左移的位数 (0~63) |
| c | 进位值(其高(64-shl)位必须为0) |
被这些函数引用 lmmp_fft_bfy_().
这是这个函数的调用关系图:减法结合左移1位操作 [dst,n] = [numa,n] - ([numb,n] << 1)
| dst | 结果输出指针 |
| numa | 被减数指针 |
| numb | 减数指针(先左移1位) |
| n | limb长度 |
引用了 LIMB_BITS.