~mdw
/
catacomb
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gcd: General tidying up.
[catacomb]
/
mp-gcd.c
diff --git
a/mp-gcd.c
b/mp-gcd.c
index
5312400
..
c78181f
100644
(file)
--- a/
mp-gcd.c
+++ b/
mp-gcd.c
@@
-118,19
+118,19
@@
void mp_gcd(mp **gcd, mp **xx, mp **yy, mp *a, mp *b)
return;
}
return;
}
- /* ---
Take a reference to the argument
s --- */
+ /* ---
Force the signs on the arguments and take copie
s --- */
a = MP_COPY(a);
b = MP_COPY(b);
a = MP_COPY(a);
b = MP_COPY(b);
- /* --- Make sure @a@ and @b@ are not both even --- */
-
MP_SPLIT(a); a->f &= ~MP_NEG;
MP_SPLIT(b); b->f &= ~MP_NEG;
u = MP_COPY(a);
v = MP_COPY(b);
MP_SPLIT(a); a->f &= ~MP_NEG;
MP_SPLIT(b); b->f &= ~MP_NEG;
u = MP_COPY(a);
v = MP_COPY(b);
+ /* --- Main extended Euclidean algorithm --- */
+
while (!MP_ZEROP(v)) {
mp *t;
mp_div(&q, &u, u, v);
while (!MP_ZEROP(v)) {
mp *t;
mp_div(&q, &u, u, v);