7#include "../../../include/lammp/lmmpn.h"
18 retval = (high_limb << rshr);
19 low_limb = high_limb >> shr;
22 *dst++ = low_limb | (high_limb << rshr);
23 low_limb = high_limb >> shr;
39 retval = (high_limb << rshr);
40 low_limb = high_limb >> shr;
43 *dst++ = low_limb | (high_limb << rshr);
44 low_limb = high_limb >> shr;
65 for (i = 1; i < n; i++) {
92 for (i = 1; i < n; i++) {
119 for (i = 1; i < n; i++) {
146 for (i = 1; i < n; i++) {
#define lmmp_copy(dst, src, n)
const mp_limb_t * mp_srcptr
mp_limb_t lmmp_shr1add_nc_(mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n, mp_limb_t c)
带进位加法后右移1位 [dst,n] = ([numa,n] + [numb,n] + c) >> 1
mp_limb_t lmmp_shr_c_(mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_size_t shr, mp_limb_t c)
带进位的大数右移操作 [dst,na] = [numa,na]>>shr,dst的高shr位填充c的高shr位
mp_limb_t lmmp_shr1add_n_(mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n)
加法后右移1位 [dst,n] = ([numa,n] + [numb,n]) >> 1
mp_limb_t lmmp_shr_(mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_size_t shr)
大数右移操作 [dst,na] = [numa,na] >> shr,dst的高shr位填充0
mp_limb_t lmmp_shr1sub_nc_(mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n, mp_limb_t c)
带借位减法后右移1位 [dst,n] = ([numa,n] - [numb,n] - c) >> 1
mp_limb_t lmmp_shr1sub_n_(mp_ptr dst, mp_srcptr numa, mp_srcptr numb, mp_size_t n)
减法后右移1位 [dst,n] = ([numa,n] - [numb,n]) >> 1