|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/impl/mparam.h"#include "../../../include/lammp/impl/tmp_alloc.h"#include "../../../include/lammp/impl/inlines.h"#include "../../../include/lammp/lmmpn.h"#include "../../../include/lammp/numth.h"
binvert.c 的引用(Include)关系图:宏定义 | |
| #define | a_binvert (tp) |
| #define | ahi (numa + halfn) |
| #define | ahi (numa + halfn) |
| #define | alo (numa) |
| #define | alo (numa) |
| #define | k (tp) |
| #define | k (tp) |
| #define | k (tp + 1 * na) |
| #define | scratch (tp + 3 * halfn) |
| #define | scratch (tp + 3 * halfn) |
| #define | scratch (tp + 2 * na) |
| #define | xhi (dst + halfn) |
| #define | xhi (dst + halfn) |
| #define | xlo (dst) |
| #define | xlo (dst) |
| #define | xlo_sqr (tp + halfn) |
| #define | xlo_sqr (tp + halfn) |
| #define | xlo_sqr_mul_ahi (tp + 2 * halfn) |
| #define | xlo_sqr_mul_ahi (tp + 2 * halfn) |
函数 | |
| static void | binvert_mulhi_ (mp_ptr dst, mp_srcptr xp, mp_srcptr ap, mp_size_t n, mp_ptr tp) |
| Copyright (C) 2026 HJimmyK(Jericho Knox) | |
| void | lmmp_binvert_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_size_t na, mp_size_t n) |
| void | lmmp_binvert_n_dc_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_size_t n, mp_ptr restrict tp) |
| void | lmmp_binvert_unbalanced_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_size_t na, mp_size_t n, mp_ptr restrict tp) |
| static void | lmmp_mullo_n_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_srcptr restrict numb, mp_size_t n, mp_ptr restrict tp) |
| static void | lmmp_sqrlo_n_ (mp_ptr restrict dst, mp_srcptr restrict numa, mp_size_t n, mp_ptr restrict tp) |
|
inlinestatic |
Copyright (C) 2026 HJimmyK(Jericho Knox)
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/.
计算 [dst,n] = [xp,n]*[ap,n] div B^n
| dst | 结果指针 |
| tp | scratch space, need 2*n limbs |
引用了 lmmp_copy, lmmp_debug_assert, lmmp_dec, lmmp_fft_next_size_(), lmmp_mul_mersenne_(), lmmp_mul_n_, MULHI_MERSENNE_THRESHOLD, n , 以及 tp.
被这些函数引用 lmmp_binvert_n_dc_() , 以及 lmmp_binvert_unbalanced_().
函数调用图:
这是这个函数的调用关系图:引用了 ALLOC_TYPE, lmmp_binvert_n_dc_(), lmmp_binvert_unbalanced_(), lmmp_binvert_unbalanced_1_(), lmmp_binvert_unbalanced_2_(), lmmp_copy, lmmp_param_assert, lmmp_zero, n, TEMP_DECL, TEMP_FREE , 以及 tp.
函数调用图:| void lmmp_binvert_n_dc_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_size_t | n, | ||
| mp_ptr restrict | tp | ||
| ) |
引用了 ahi, alo, binvert_mulhi_(), k, lmmp_add_n_(), lmmp_binvert_2_(), lmmp_binvert_3_(), lmmp_binvert_4_(), lmmp_binvert_n_dc_(), lmmp_binvert_ulong_(), lmmp_inc, lmmp_mullo_n_(), lmmp_not_(), lmmp_param_assert, lmmp_sqrlo_n_(), n, scratch, tp, xhi, xlo, xlo_sqr , 以及 xlo_sqr_mul_ahi.
被这些函数引用 lmmp_binvert_(), lmmp_binvert_n_dc_() , 以及 lmmp_binvert_unbalanced_().
函数调用图:
这是这个函数的调用关系图:| void lmmp_binvert_unbalanced_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_size_t | na, | ||
| mp_size_t | n, | ||
| mp_ptr restrict | tp | ||
| ) |
引用了 a_binvert, binvert_mulhi_(), k, lmmp_add_n_(), lmmp_binvert_n_dc_(), lmmp_copy, lmmp_debug_assert, lmmp_inc, lmmp_mul_n_, lmmp_mullo_n_(), lmmp_not_(), lmmp_param_assert, n, scratch , 以及 tp.
被这些函数引用 lmmp_binvert_().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
引用了 lmmp_mullo_dc_(), lmmp_mullo_fft_(), MULLO_DC_THRESHOLD, n, numb , 以及 tp.
被这些函数引用 lmmp_binvert_n_dc_() , 以及 lmmp_binvert_unbalanced_().
函数调用图:
这是这个函数的调用关系图:
|
inlinestatic |
引用了 lmmp_mullo_fft_(), lmmp_sqrlo_dc_(), MULLO_DC_THRESHOLD, n , 以及 tp.
被这些函数引用 lmmp_binvert_n_dc_().
函数调用图:
这是这个函数的调用关系图: