diff --git a/pymbolic/algorithm.py b/pymbolic/algorithm.py index 207df9d16751f491b8015c5e62e0649bcc4ab3b4..95d1b9673b8d88b6db5bb5900b91a7dbfa332847 100644 --- a/pymbolic/algorithm.py +++ b/pymbolic/algorithm.py @@ -27,6 +27,17 @@ def integer_power(x, n, one=1): def gcd(q, r): return extended_euclidean(q, r)[0] +def gcd_many(*args): + if len(args) == 0: + return 1 + elif len(args) == 1: + return args[0] + else: + return reduce(gcd, args) + +def lcm(q, r): + return abs(q*r)//gcd(q, r) +