UNPKG

446 Btext/coffeescriptView Raw
1
2
3Eval_zero = ->
4 i = 0
5 k = []
6 m = 0
7 n = 0
8
9 for i in [0...MAXDIM]
10 k[i] = 0
11
12 m = 1
13 n = 0
14 p2 = cdr(p1)
15
16 while (iscons(p2))
17 push(car(p2))
18 Eval()
19 i = pop_integer()
20 if (i < 1 || isNaN(i))
21 # if the input is nonsensical
22 # just return 0
23 push(zero)
24 return
25 m *= i
26 k[n++] = i
27 p2 = cdr(p2)
28 if (n == 0)
29 push(zero)
30 return
31 p1 = alloc_tensor(m)
32 p1.tensor.ndim = n
33 for i in [0...n]
34 p1.tensor.dim[i] = k[i]
35 push(p1)
36