1 |
|
2 |
|
3 | Eval_round = ->
|
4 | push(cadr(p1))
|
5 | Eval()
|
6 | yround()
|
7 |
|
8 | yround = ->
|
9 | save()
|
10 | yyround()
|
11 | restore()
|
12 |
|
13 | yyround = ->
|
14 | d = 0.0
|
15 |
|
16 | p1 = pop()
|
17 |
|
18 | if (!isnum(p1))
|
19 | push_symbol(ROUND)
|
20 | push(p1)
|
21 | list(2)
|
22 | return
|
23 |
|
24 | if (isdouble(p1))
|
25 | d = Math.round(p1.d)
|
26 | push_double(d)
|
27 | return
|
28 |
|
29 | if (isinteger(p1))
|
30 | push(p1)
|
31 | return
|
32 |
|
33 | push p1
|
34 | yyfloat()
|
35 | p1 = pop()
|
36 | push_integer Math.round(p1.d)
|
37 |
|
38 |
|
39 |
|