|
LAMMP 4.1.0
Lamina High-Precision Arithmetic Library
|
#include "../../include/lammp/impl/tmp_alloc.h"#include "../../include/lammp/lmmpn.h"#include "../../include/lammp/impl/mparam.h"
mullo.c 的引用(Include)关系图:宏定义 | |
| #define | a0 (numa) |
| #define | a0 (numa) |
| #define | a1 (numa + m) |
| #define | a1 (numa + m) |
| #define | b0 (numb) |
| #define | b1 (numb + m) |
| #define | c0 (dst) |
| #define | c0 (dst) |
| #define | c1 (dst + m) |
| #define | c1 (dst + m) |
| #define | lo1 (tp) |
| #define | lo1 (tp) |
| #define | lo2 (tp + 2 * t) |
| #define | MUL_TOOM66_THRESHOLD MUL_FFT_THRESHOLD |
| #define | MUL_TOOM88_THRESHOLD 5621 |
| #define | tp1 (tp + 2 * t) |
| #define | tp1 (tp + 2 * t) |
| #define | tp2 (tp + 4 * t) |
函数 | |
| void | lmmp_mullo_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_srcptr restrict numb, mp_size_t n) |
| void | lmmp_mullo_dc_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_srcptr restrict numb, mp_ptr restrict tp, mp_size_t n) |
| void | lmmp_mullo_fft_ (mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n, mp_ptr scratch) |
| 低位FFT乘法 [dst,n] = [numa,n] * [numb,n] mod B^n | |
| void | lmmp_sqrlo_dc_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_ptr restrict tp, mp_size_t n) |
| #define a0 (numa) |
| #define a0 (numa) |
| #define a1 (numa + m) |
| #define a1 (numa + m) |
| #define b0 (numb) |
| #define b1 (numb + m) |
| #define c0 (dst) |
| #define c0 (dst) |
| #define c1 (dst + m) |
| #define c1 (dst + m) |
| #define lo1 (tp) |
| #define lo1 (tp) |
| #define lo2 (tp + 2 * t) |
| #define MUL_TOOM66_THRESHOLD MUL_FFT_THRESHOLD |
| #define tp1 (tp + 2 * t) |
| #define tp1 (tp + 2 * t) |
| #define tp2 (tp + 4 * t) |
| void lmmp_mullo_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_srcptr restrict | numb, | ||
| mp_size_t | n | ||
| ) |
引用了 lmmp_mullo_dc_(), lmmp_mullo_fft_(), lmmp_param_assert, lmmp_sqrlo_dc_(), MULLO_DC_THRESHOLD, TALLOC_TYPE, TEMP_DECL, TEMP_FREE , 以及 tp.
函数调用图:| void lmmp_mullo_dc_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_srcptr restrict | numb, | ||
| mp_ptr restrict | tp, | ||
| mp_size_t | n | ||
| ) |
引用了 a0, a1, b0, b1, c0, c1, lmmp_add_n_(), lmmp_copy, lmmp_mul_1_(), lmmp_mul_n_(), lmmp_mullo_dc_(), lo1, lo2, MUL_TOOM33_THRESHOLD, MUL_TOOM44_THRESHOLD, MUL_TOOM66_THRESHOLD, MUL_TOOM88_THRESHOLD, MULLO_BASECASE_THRESHOLD, tp, tp1 , 以及 tp2.
被这些函数引用 lmmp_mullo_(), lmmp_mullo_dc_() , 以及 lmmp_sqrlo_dc_().
函数调用图:
这是这个函数的调用关系图:低位FFT乘法 [dst,n] = [numa,n] * [numb,n] mod B^n
| dst | 输出结果缓冲区,长度至少为 n |
| numa | 第一个输入操作数,长度为 n |
| numb | 第二个输入操作数,长度为 n |
| scratch | 临时缓冲区,长度至少为 2*n |
| n | 缓冲区 limb 长度 |
引用了 ALLOC_TYPE, LIMB_BITS, lmmp_add_(), lmmp_assert, lmmp_copy, lmmp_dec_1, lmmp_fft_next_size_(), lmmp_free(), lmmp_inc, lmmp_mul_fermat_(), lmmp_mul_mersenne_(), lmmp_param_assert, lmmp_shr1add_nc_(), lmmp_sub_(), lmmp_sub_1_(), lmmp_sub_n_(), lmmp_sub_nc_(), scratch , 以及 tp.
被这些函数引用 lmmp_mullo_(), lmmp_mullo_n_() , 以及 lmmp_sqrlo_n_().
函数调用图:
这是这个函数的调用关系图:| void lmmp_sqrlo_dc_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_ptr restrict | tp, | ||
| mp_size_t | n | ||
| ) |
引用了 a0, a1, c0, c1, lmmp_add_n_(), lmmp_addshl1_n_(), lmmp_copy, lmmp_mul_1_(), lmmp_mullo_dc_(), lmmp_sqr_(), lo1, MUL_TOOM33_THRESHOLD, MUL_TOOM44_THRESHOLD, MUL_TOOM66_THRESHOLD, MUL_TOOM88_THRESHOLD, MULLO_BASECASE_THRESHOLD, tp , 以及 tp1.
被这些函数引用 lmmp_mullo_().
函数调用图:
这是这个函数的调用关系图: