UNPKG

489 Btext/coffeescriptView Raw
1
2
3Eval_numerator = ->
4 push(cadr(p1))
5 Eval()
6 numerator()
7
8numerator = ->
9 h = 0
10
11 save()
12
13 p1 = pop()
14
15 if (car(p1) == symbol(ADD))
16 push(p1)
17 rationalize()
18 p1 = pop()
19
20 if (car(p1) == symbol(MULTIPLY))
21 h = tos
22 p1 = cdr(p1)
23 while (iscons(p1))
24 push(car(p1))
25 numerator()
26 p1 = cdr(p1)
27 multiply_all(tos - h)
28 else if (isrational(p1))
29 push(p1)
30 mp_numerator()
31 else if (car(p1) == symbol(POWER) && isnegativeterm(caddr(p1)))
32 push(one)
33 else
34 push(p1)
35
36 restore()
37