tagged release 0.7.1
[parrot.git] / languages / lolcode / src / builtins / math.pir
blobe76832fac29e7c827f36386b7d9b9fd5f91f2417
1 .sub 'SUM OF'
2     .param pmc x
3     .param pmc y
4     $P0 = n_add x, y
5     .return ($P0)
6 .end
8 .sub 'DIFF OF'
9     .param pmc x
10     .param pmc y
11     $P0 = n_sub x, y
12     .return ($P0)
13 .end
15 .sub 'PRODUKT OF'
16     .param pmc x
17     .param pmc y
18     $P0 = n_mul x, y
19     .return ($P0)
20 .end
22 .sub 'QUOSHUNT OF'
23     .param pmc x
24     .param pmc y
25     $P0 = n_div x, y
26     .return ($P0)
27 .end
29 .sub 'MOD OF'
30     .param num x
31     .param num y
32     $N0 = mod x, y
33     .return ($N0)
34 .end
36 .sub 'BIGGR OF'
37     .param pmc x
38     .param pmc y
39     $I0 = islt x, y
40     if $I0 goto y_biggr
41     .return (x)
42   y_biggr:
43     .return (y)
44 .end
46 .sub 'SMALLR OF'
47     .param pmc x
48     .param pmc y
49     $I0 = isgt x, y
50     if $I0 goto y_smallr
51     .return (x)
52   y_smallr:
53     .return (y)
54 .end
56 .sub 'FAKTORIAL OF'
57     # Get input parameter.
58     .param int n
60     # return (n > 1 ? n * factorial(n - 1) : 1)
61     .local int result
63     if n > 1 goto recurse
64     result = 1
65     goto return
67 recurse:
68     $I0 = n - 1
69     result = 'FAKTORIAL OF'($I0)
70     result *= n
72 return:
73     .return (result)
74 .end
76 # Local Variables:
77 #   mode: pir
78 #   fill-column: 100
79 # End:
80 # vim: expandtab shiftwidth=4 ft=pir: