diff options
Diffstat (limited to 'src/libbiguint/bu_gcd.c')
-rw-r--r-- | src/libbiguint/bu_gcd.c | 32 |
1 files changed, 0 insertions, 32 deletions
diff --git a/src/libbiguint/bu_gcd.c b/src/libbiguint/bu_gcd.c deleted file mode 100644 index 738091e..0000000 --- a/src/libbiguint/bu_gcd.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ISC license. */ - -#include <skalibs/biguint.h> - -int bu_gcd (uint32_t *r, unsigned int rn, uint32_t const *a, unsigned int an, uint32_t const *b, unsigned int bn) -{ - if (bu_cmp(a, an, b, bn) < 0) - { - uint32_t const *t = a ; - unsigned int tn = an ; - a = b ; an = bn ; - b = t ; bn = tn ; - } - { - uint32_t trash[an] ; - uint32_t aa[an] ; - uint32_t bb[an] ; - uint32_t *aaa = aa, *bbb = bb ; - bu_copy_internal(aa, a, an) ; - bu_copy_internal(bb, b, bn) ; - bu_zero(bb+bn, an-bn) ; - - while (bu_len(bbb, an)) - { - uint32_t *ttt = aaa ; - bu_div_internal(aaa, an, bbb, an, trash, an) ; - aaa = bbb ; - bbb = ttt ; - } - return bu_copy(r, rn, aaa, an) ; - } -} |