From: Jim Pryor Date: Mon, 4 Oct 2010 12:34:47 +0000 (-0400) Subject: library: tweak gcd X-Git-Url: http://lambda.jimpryor.net/git/gitweb.cgi?p=lambda.git;a=commitdiff_plain;h=7369cbe617f9b283dc9a585858dd1085ff7266f8 library: tweak gcd Signed-off-by: Jim Pryor --- diff --git a/lambda_library.mdwn b/lambda_library.mdwn index bdd01687..2e65f5cc 100644 --- a/lambda_library.mdwn +++ b/lambda_library.mdwn @@ -237,8 +237,9 @@ and all sorts of other places. Others of them are our own handiwork. ; now you can search for primes, do encryption :-) - let gcd = Y (\gcd m n. iszero n m (gcd n (mod m n))) in - let lcm = \m n. or (iszero m) (iszero n) 0 (mul (div m (gcd m n)) n) in + let gcd = Y (\gcd m n. iszero n m (gcd n (mod m n))) in ; or + let gcd = \m n. iszero m n (Y (\gcd m n. iszero n m (lt n m (gcd (sub m n) n) (gcd m (sub n m)))) m n) in + let lcm = \m n. or (iszero m) (iszero n) 0 (mul (div m (gcd m n)) n) in ; length for version 1 lists