algebrite
Version:
Computer Algebra System in Coffeescript
41 lines (29 loc) • 418 B
text/coffeescript
# Find the least common multiple of two expressions.
Eval_lcm = ->
p1 = cdr(p1)
push(car(p1))
Eval()
p1 = cdr(p1)
while (iscons(p1))
push(car(p1))
Eval()
lcm()
p1 = cdr(p1)
lcm = ->
prev_expanding = expanding
save()
yylcm()
restore()
expanding = prev_expanding
yylcm = ->
expanding = 1
p2 = pop()
p1 = pop()
push(p1)
push(p2)
gcd()
push(p1)
divide()
push(p2)
divide()
inverse()