|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/impl/inlines.h"#include "../../../include/lammp/impl/mparam.h"#include "../../../include/lammp/impl/tmp_alloc.h"#include "../../../include/lammp/lmmpn.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 | lo (tp) |
| #define | lo1 (tp) |
| #define | lo2 (tp + t) |
| #define | MUL_TOOM66_THRESHOLD MUL_FFT_THRESHOLD |
| #define | MUL_TOOM88_THRESHOLD 5621 |
| #define | scratch (tp + 2 * t) |
| #define | scratch (tp + 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) |
| Copyright (C) 2026 HJimmyK(Jericho Knox) | |
| void | lmmp_sqrlo_dc_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_ptr restrict tp, mp_size_t n) |
| #define MUL_TOOM66_THRESHOLD MUL_FFT_THRESHOLD |
| 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, n, numb, 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_debug_assert, 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, n, numb, scratch, t , 以及 tp.
被这些函数引用 lmmp_mullo_(), lmmp_mullo_dc_() , 以及 lmmp_sqrlo_dc_().
函数调用图:
这是这个函数的调用关系图:Copyright (C) 2026 HJimmyK(Jericho Knox)
低位FFT乘法 [dst,n] = [numa,n] * [numb,n] mod B^n
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/.
引用了 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_(), n, numb, scratch , 以及 tp.
被这些函数引用 lmmp_mullo_(), lmmp_mullo_n_(), 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_, lo, MUL_TOOM33_THRESHOLD, MUL_TOOM44_THRESHOLD, MUL_TOOM66_THRESHOLD, MUL_TOOM88_THRESHOLD, MULLO_BASECASE_THRESHOLD, n, scratch, t , 以及 tp.
被这些函数引用 lmmp_mullo_().
函数调用图:
这是这个函数的调用关系图: