39 if (na == 0 && nb != 0) {
42 }
else if (na != 0 && nb == 0) {
45 }
else if (na == 0 && nb == 0) {
48 }
else if (na < 0 && nb < 0) {
52 dst[na] =
lmmp_add_(dst, numa, na, numb, nb);
53 return dst[na] == 0 ? -na : -(na + 1);
55 dst[nb] =
lmmp_add_(dst, numb, nb, numa, na);
56 return dst[nb] == 0 ? -nb : -(nb + 1);
58 }
else if (na > 0 && nb > 0) {
60 dst[na] =
lmmp_add_(dst, numa, na, numb, nb);
61 return dst[na] == 0 ? na : na + 1;
63 dst[nb] =
lmmp_add_(dst, numb, nb, numa, na);
64 return dst[nb] == 0 ? nb : nb + 1;
66 }
else if (na < 0 && nb > 0) {
70 while (dst[nb - 1] == 0 && nb > 0) {
76 while (dst[na - 1] == 0 && na > 0) {
84 while (dst[nb - 1] == 0 && nb > 0) {
90 while (dst[na - 1] == 0 && na > 0) {
104 while (dst[nb - 1] == 0 && nb > 0) {
108 }
else if (na > nb) {
110 while (dst[na - 1] == 0 && na > 0) {
118 while (dst[nb - 1] == 0 && nb > 0) {
122 }
else if (cmp > 0) {
124 while (dst[na - 1] == 0 && na > 0) {
static mp_limb_t lmmp_add_(mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_srcptr numb, mp_size_t nb)
大数加法静态内联函数 [dst,na]=[numa,na]+[numb,nb]
void lmmp_mul_(mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_srcptr numb, mp_size_t nb)
不等长大数乘法操作 [dst,na+nb] = [numa,na] * [numb,nb]
void lmmp_sqr_(mp_ptr dst, mp_srcptr numa, mp_size_t na)
大数平方操作 [dst,2*na] = [numa,na]^2
static mp_limb_t lmmp_sub_(mp_ptr dst, mp_srcptr numa, mp_size_t na, mp_srcptr numb, mp_size_t nb)
大数减法静态内联函数 [dst,na]=[numa,na]-[numb,nb]