/src/numtheory/fp_lcm.c
http://github.com/libtom/tomsfastmath · C · 20 lines · 15 code · 2 blank · 3 comment · 3 complexity · 467f4f0348ac56b5fd4b88e9b865c58f MD5 · raw file
- /* TomsFastMath, a fast ISO C bignum library. -- Tom St Denis */
- /* SPDX-License-Identifier: Unlicense */
- #include <tfm_private.h>
- /* c = [a, b] */
- void fp_lcm(fp_int *a, fp_int *b, fp_int *c)
- {
- fp_int t1, t2;
- fp_init(&t1);
- fp_init(&t2);
- fp_gcd(a, b, &t1);
- if (fp_cmp_mag(a, b) == FP_GT) {
- fp_div(a, &t1, &t2, NULL);
- fp_mul(b, &t2, c);
- } else {
- fp_div(b, &t1, &t2, NULL);
- fp_mul(a, &t2, c);
- }
- }