Annotation of OpenXM/src/kan96xx/Kan/plain.sm1, Revision 1.1.1.1
1.1 maekawa 1: /= { set } def
2: /+ { add } def
3: /- { sub } def
4: /* { mul } def
5:
6: /<< { } def
7: />> { } def
8:
9: /toArray { %% f1 ... fn n toArray [f1 ... fn]
10: [ 2 1 roll %% f1 ... fn [ n
11: 1 add 1 roll %% [ f1 ... fn
12: ]
13: } def
14:
15: /rotate_n {
16: -1 roll
17: } def
18:
19: /decompose {
20: aload length
21: } def
22: /n 0 def /com 0 def /i 0 def /ar 0 def /res 0 def
23:
24:
25: /ring_of_difference_operator { %% ${x,y}$ ring_of_difference_operator
26: /arg1 =
27: /vars arg1 def
28: ${}$ % first arg
29: vars to_records /@e.n = $ee$
30: @e.n 1 + toArray /vars = % vars = [$x$ $y$ $ee$]
31: @e.n 1 + /@e.n = % @e.n = 3
32: ${$ vars {$,$ 2 cat_n} map % [$x,$ $y,$ $ee,$]
33: decompose pop % $x,$ $y,$ $ee,$
34: vars {$E$ 2 rotate_n $,$ 3 cat_n} map
35: decompose pop pop $eeE$ $}$
36: @e.n 2 * 2 + cat_n % the second arg
37: ${}$ %% the third arg
38: ${ee}$ $MED$ ${}$
39: } def
40:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>