16#include "../../../include/lammp/impl/longlong.h"
17#include "../../../include/lammp/lmmpn.h"
18#include "../../../include/lammp/numth.h"
37 if (
u[1] == 0 &&
v[1] == 0) {
41 }
else if (
u[1] == 0) {
45 }
else if (
v[1] == 0) {
51 if (
u[0] == 0 &&
v[0] == 0) {
55 }
else if (
u[0] == 0) {
59 }
else if (
v[0] == 0) {
72 while (!(
u[0] ==
v[0] &&
u[1] ==
v[1])) {
82 }
else if (
v[1] == 0) {
94 }
else if (
u[1] == 0) {
146 while (
u[0] !=
v[0]) {
159 return dst[1] == 0 ? 1 : 2;
170 if (
u[1] == 0 &&
u[0] == 0) {
mp_size_t lmmp_gcd_2_(mp_ptr dst, mp_srcptr up, mp_size_t un, mp_srcptr vp)
计算两个无符号整数的最大公约数
mp_size_t lmmp_gcd_22_(mp_ptr dst, mp_srcptr up, mp_srcptr vp)
Copyright (C) 2026 HJimmyK(Jericho Knox)
#define lmmp_tailing_zeros_
const mp_limb_t * mp_srcptr
#define lmmp_param_assert(x)
void lmmp_mod_2_(mp_srcptr numa, mp_size_t na, mp_ptr numb)
双精度数取余 (除数为2个limb)
#define _u128lshl(x, y, n)
#define _u128sub(r, x, y)
#define _u128lshr(x, y, n)
#define _u128sub64(r, x, _i64)
mp_limb_t lmmp_gcd_11_(mp_limb_t u, mp_limb_t v)
计算两个无符号整数的最大公约数