7#include "../../../include/lammp/impl/mparam.h"
8#include "../../../include/lammp/impl/tmp_alloc.h"
9#include "../../../include/lammp/lmmpn.h"
10#include "../../../include/lammp/numth.h"
13 lmmp_mul_(dst, sq, rn, b##_i_, b##_i_##n); \
15 rn -= (dst[rn - 1] == 0) ? 1 : 0
29 rn -= (sq[rn - 1] == 0) ? 1 : 0;
45 rn -= (sq[rn - 1] == 0) ? 1 : 0;
54 rn -= (sq[rn - 1] == 0);
56 for (; j <= lz; j += 2) {
59 rn -= (dst[rn - 1] == 0);
62 rn -= (sq[rn - 1] == 0);
65 for (; j <= lz; j += 2) {
68 rn -= (dst[rn - 1] == 0);
71 rn -= (sq[rn - 1] == 0);
#define lmmp_copy(dst, src, n)
#define lmmp_debug_assert(x)
const mp_limb_t * mp_srcptr
#define lmmp_param_assert(x)
int lmmp_leading_zeros_(mp_limb_t x)
计算一个单精度数(limb)中前导零的个数
void lmmp_sqr_(mp_ptr dst, mp_srcptr numa, mp_size_t na)
大数平方操作 [dst,2*na] = [numa,na]^2
mp_size_t lmmp_pow_basecase_(mp_ptr restrict dst, mp_size_t rn, mp_srcptr restrict base, mp_size_t n, ulong exp)
#define TALLOC_TYPE(n, type)