previous up next
Go backward to Improvements
Go up to Top
Go forward to
RISC-Linz logo

Logic Evaluator

fun Euclid(m: N, n: N) recursive +(m, n) =
  if(=(m, 0), n,
  if(=(n, 0), m,
  if(<=(m, n), Euclid(m, -(n, m)),
    Euclid(-(m, n), n))));
fun Euclid'(m: N, n: N) recursive +(m, n) =
  if(=(m, 0), n,
  if(=(n, 0), m,
  if(<=(m, n), Euclid'(m, modN(n, m)),
    Euclid'(modN(m, n), n))));

Much faster than gcd!


Author: Wolfgang Schreiner
Last Modification: November 24, 1999

previous up next