]> pd.if.org Git - zpackage/blob - tomsfastmath/src/numtheory/fp_lcm.c
commit files needed for zpm-fetchurl
[zpackage] / tomsfastmath / src / numtheory / fp_lcm.c
1 /* TomsFastMath, a fast ISO C bignum library.
2  * 
3  * This project is meant to fill in where LibTomMath
4  * falls short.  That is speed ;-)
5  *
6  * This project is public domain and free for all purposes.
7  * 
8  * Tom St Denis, tomstdenis@gmail.com
9  */
10 #include <tfm_private.h>
11
12 /* c = [a, b] */
13 void fp_lcm(fp_int *a, fp_int *b, fp_int *c)
14 {
15    fp_int  t1, t2;
16
17    fp_init(&t1);
18    fp_init(&t2);
19    fp_gcd(a, b, &t1);
20    if (fp_cmp_mag(a, b) == FP_GT) {
21       fp_div(a, &t1, &t2, NULL);
22       fp_mul(b, &t2, c);
23    } else {
24       fp_div(b, &t1, &t2, NULL);
25       fp_mul(a, &t2, c);
26    }   
27 }
28
29 /* $Source$ */
30 /* $Revision$ */
31 /* $Date$ */