|
LAMMP 4.2.0
Lamina High-Precision Arithmetic Library
|
#include "../../../include/lammp/numth.h"
perfsqr.c 的引用(Include)关系图:宏定义 | |
| #define | ADD(c, a, val) |
| #define | B1 (LIMB_BITS / 4) |
| #define | B2 (B1 * 2) |
| #define | B3 (B1 * 3) |
| #define | HIGH0(n) ((n) >> B3) |
| #define | HIGH1(n) ((n) >> B2) |
| #define | HIGH2(n) ((n) >> B1) |
| #define | LOW0(n) ((n) & M3) |
| #define | LOW1(n) (((n) & M2) << B1) |
| #define | LOW2(n) (((n) & M1) << B2) |
| #define | M1 ((1ULL << B1) - 1) |
| #define | M2 ((1ULL << B2) - 1) |
| #define | M3 ((1ULL << B3) - 1) |
| #define | MASK48 (0xFFFFFFFFFFFF) |
| Copyright (C) 2026 HJimmyK(Jericho Knox) | |
| #define | PARTS0(n) (LOW0(n) + HIGH0(n)) |
| #define | PARTS1(n) (LOW1(n) + HIGH1(n)) |
| #define | PARTS2(n) (LOW2(n) + HIGH2(n)) |
函数 | |
| static bool | is_perfsqr_p13 (uchar r) |
| static bool | is_perfsqr_p17 (uchar r) |
| static bool | is_perfsqr_p241 (ushort r) |
| static bool | is_perfsqr_p256 (uchar r) |
| static bool | is_perfsqr_p257 (ushort r) |
| static bool | is_perfsqr_p5 (uchar r) |
| static bool | is_perfsqr_p673 (ushort r) |
| static bool | is_perfsqr_p7 (uchar r) |
| static bool | is_perfsqr_p9 (uchar r) |
| static bool | is_perfsqr_p97 (uchar r) |
| mp_limb_t | lmmp_mod_2p48sub1_ (mp_srcptr p, mp_size_t n) |
| 计算 [p,n] % 2^48-1 | |
| bool | lmmp_perfsqr_filter_ (mp_srcptr p, mp_size_t n) |
| 非完全平方数过滤器 | |
| bool | lmmp_perfsqr_filter_1_ (mp_limb_t p) |
| 非完全平方数过滤器 | |
| #define MASK48 (0xFFFFFFFFFFFF) |
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.
被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:引用了 lmmp_param_assert , 以及 n.
被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:引用了 lmmp_param_assert , 以及 n.
被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:引用了 lmmp_param_assert , 以及 n.
被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:引用了 lmmp_param_assert , 以及 n.
被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:被这些函数引用 lmmp_perfsqr_filter_() , 以及 lmmp_perfsqr_filter_1_().
这是这个函数的调用关系图:计算 [p,n] % 2^48-1
| p | 被除数指针 |
| n | 被除数的 limb 长度 |
引用了 a0, a1, a2, ADD, B3, c0, c1, lmmp_param_assert, MASK48, n, PARTS0, PARTS1 , 以及 PARTS2.
被这些函数引用 lmmp_perfsqr_filter_().
这是这个函数的调用关系图:非完全平方数过滤器
| p | 输入指针 |
| n | 输入的 limb 长度 |
引用了 is_perfsqr_p13(), is_perfsqr_p17(), is_perfsqr_p241(), is_perfsqr_p256(), is_perfsqr_p257(), is_perfsqr_p5(), is_perfsqr_p673(), is_perfsqr_p7(), is_perfsqr_p9(), is_perfsqr_p97(), lmmp_mod_2p48sub1_(), lmmp_param_assert , 以及 n.
函数调用图:非完全平方数过滤器
| p | 输入数 |
引用了 is_perfsqr_p13(), is_perfsqr_p17(), is_perfsqr_p241(), is_perfsqr_p256(), is_perfsqr_p257(), is_perfsqr_p5(), is_perfsqr_p673(), is_perfsqr_p7(), is_perfsqr_p9(), is_perfsqr_p97(), MASK48 , 以及 n.
函数调用图: