|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/impl/mparam.h"#include "../../../include/lammp/impl/toom_interp.h"
mul_toom62.c 的引用(Include)关系图:结构体 | |
| struct | toom62_cache_t |
宏定义 | |
| #define | a0 numa |
| #define | a0 numa |
| #define | a0 numa |
| #define | a1 (numa + n) |
| #define | a1 (numa + n) |
| #define | a1 (numa + n) |
| #define | a2 (numa + 2 * n) |
| #define | a2 (numa + 2 * n) |
| #define | a2 (numa + 2 * n) |
| #define | a3 (numa + 3 * n) |
| #define | a3 (numa + 3 * n) |
| #define | a3 (numa + 3 * n) |
| #define | a4 (numa + 4 * n) |
| #define | a4 (numa + 4 * n) |
| #define | a4 (numa + 4 * n) |
| #define | a5 (numa + 5 * n) |
| #define | a5 (numa + 5 * n) |
| #define | a5 (numa + 5 * n) |
| #define | b0 numb |
| #define | b0 numb |
| #define | b0 numb |
| #define | b1 (numb + n) |
| #define | b1 (numb + n) |
| #define | b1 (numb + n) |
| #define | bs1 (cache->bs1) |
| #define | bs1 (cache->bs1) |
| #define | bs2 (cache->bs2) |
| #define | bs2 (cache->bs2) |
| #define | bsh (cache->bsh) |
| #define | bsh (cache->bsh) |
| #define | bsm1 (cache->bsm1) |
| #define | bsm1 (cache->bsm1) |
| #define | bsm2 (cache->bsm2) |
| #define | bsm2 (cache->bsm2) |
| #define | lmmp_mul_n_(dst, numa, numb, n) |
| Copyright (C) 2026 HJimmyK(Jericho Knox) | |
| #define | n (cache->n) |
| #define | n (cache->n) |
| #define | numb (cache->numb) |
| #define | numb (cache->numb) |
| #define | s (cache->s) |
| #define | s (cache->s) |
| #define | scratch (cache->scratch) |
| #define | scratch (cache->scratch) |
| #define | scratch_out (scratch + 8 * n + 4) /* 2n+1 */ |
| #define | scratch_out (scratch + 8 * n + 4) /* 2n+1 */ |
| #define | scratch_out (scratch + 8 * n + 4) /* 2n+1 */ |
| #define | t (cache->t) |
| #define | t (cache->t) |
| #define | tmp (cache->tmp) |
| #define | tmp (cache->tmp) |
| #define | v0 dst /* 2n */ |
| #define | v0 dst /* 2n */ |
| #define | v0 dst /* 2n */ |
| #define | v1 (dst + 2 * n) /* 2n+1 */ |
| #define | v1 (dst + 2 * n) /* 2n+1 */ |
| #define | v1 (dst + 2 * n) /* 2n+1 */ |
| #define | v2 scratch /* 2n+1 */ |
| #define | v2 scratch /* 2n+1 */ |
| #define | v2 scratch /* 2n+1 */ |
| #define | vh (scratch + 4 * n + 2) /* 2n+1 */ |
| #define | vh (scratch + 4 * n + 2) /* 2n+1 */ |
| #define | vh (scratch + 4 * n + 2) /* 2n+1 */ |
| #define | vinf (dst + 6 * n) /* s+t */ |
| #define | vinf (dst + 6 * n) /* s+t */ |
| #define | vinf (dst + 6 * n) /* s+t */ |
| #define | vm1 (scratch + 6 * n + 3) /* 2n+1 */ |
| #define | vm1 (scratch + 6 * n + 3) /* 2n+1 */ |
| #define | vm1 (scratch + 6 * n + 3) /* 2n+1 */ |
| #define | vm2 (scratch + 2 * n + 1) /* 2n+1 */ |
| #define | vm2 (scratch + 2 * n + 1) /* 2n+1 */ |
| #define | vm2 (scratch + 2 * n + 1) /* 2n+1 */ |
| struct toom62_cache_t |
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/.
在文件 mul_toom62.c 第 21 行定义.
| #define n (cache->n) |
| #define n (cache->n) |
| void lmmp_mul_toom62_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_size_t | na, | ||
| mp_srcptr restrict | numb, | ||
| mp_size_t | nb | ||
| ) |
在文件 mul_toom62.c 第 50 行定义.
引用了 a0, a1, a2, a3, a4, a5, as1, as2, asm1, asm2, b0, b1, bs1, bs2, bsh, bsm1, bsm2, lmmp_add_(), lmmp_add_n_(), lmmp_add_n_sub_n_(), lmmp_addmul_1_(), lmmp_addshl1_n_(), lmmp_cmp_(), lmmp_debug_assert, lmmp_inc_1, lmmp_mul_(), lmmp_mul_n_, lmmp_param_assert, lmmp_shl_(), lmmp_sub_(), lmmp_sub_n_(), lmmp_toom_eval_pm1_(), lmmp_toom_eval_pm2_(), lmmp_toom_interp7_(), lmmp_zero, lmmp_zero_q_(), n, s, SALLOC_TYPE, scratch, scratch_out, t, TEMP_S_DECL, TEMP_S_FREE, tmp, toom7_w1_neg, toom7_w3_neg, v0, v1, v2, vh, vinf, vm1 , 以及 vm2.
函数调用图:
|
static |
在文件 mul_toom62.c 第 430 行定义.
引用了 a0, a1, a2, a3, a4, a5, as1, as2, asm1, asm2, b0, b1, bs1, bs2, bsh, bsm1, bsm2, lmmp_add_n_(), lmmp_addmul_1_(), lmmp_addshl1_n_(), lmmp_debug_assert, lmmp_inc_1, lmmp_mul_(), lmmp_mul_n_, lmmp_shl_(), lmmp_toom_eval_pm1_(), lmmp_toom_eval_pm2_(), lmmp_toom_interp7_(), n, s, scratch_out, t, tmp, toom7_w1_neg, toom7_w3_neg, v0, v1, v2, vh, vinf, vm1 , 以及 vm2.
被这些函数引用 lmmp_mul_toom62_unbalance_().
函数调用图:
这是这个函数的调用关系图:
|
static |
在文件 mul_toom62.c 第 245 行定义.
引用了 a0, a1, a2, a3, a4, a5, as1, as2, asm1, asm2, b0, b1, bs1, bs2, bsh, bsm1, bsm2, lmmp_add_(), lmmp_add_n_(), lmmp_add_n_sub_n_(), lmmp_addmul_1_(), lmmp_addshl1_n_(), lmmp_cmp_(), lmmp_debug_assert, lmmp_inc_1, lmmp_mul_(), lmmp_mul_n_, lmmp_shl_(), lmmp_sub_(), lmmp_sub_n_(), lmmp_toom_eval_pm1_(), lmmp_toom_eval_pm2_(), lmmp_toom_interp7_(), lmmp_zero, lmmp_zero_q_(), n, s, scratch_out, t, tmp, toom7_w1_neg, toom7_w3_neg, v0, v1, v2, vh, vinf, vm1 , 以及 vm2.
被这些函数引用 lmmp_mul_toom62_unbalance_().
函数调用图:
这是这个函数的调用关系图:| void lmmp_mul_toom62_unbalance_ | ( | mp_ptr restrict | dst, |
| mp_srcptr restrict | numa, | ||
| mp_size_t | na, | ||
| mp_srcptr restrict | numb, | ||
| mp_size_t | nb | ||
| ) |
在文件 mul_toom62.c 第 558 行定义.
引用了 BALLOC_TYPE, lmmp_add_n_(), lmmp_copy, lmmp_inc, lmmp_mul_(), lmmp_mul_toom62_cache_(), lmmp_mul_toom62_cache_init_(), lmmp_param_assert, n, toom62_cache_t::numb, numb, SALLOC_TYPE, TEMP_DECL , 以及 TEMP_FREE.
函数调用图: