annotate test/gintovfl.ijs @ 0:e0bbaa717f41 draft default tip

lol J
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Mon, 25 Nov 2013 11:56:30 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
1 NB. integer operations --------------------------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
3 B =: IF64{31 63
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
5 V =: 1 : 'x ; x& x:'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
6 E =: 1 : 'x -: x&.x:'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
7 EI=: 1 : 'x E *. 4&=@type@:x'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
8 C =: 1 : 'x E *. x E~'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
9 CI=: 1 : 'x C *. 4&=@type@:x'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
10 xi=: x:^:_1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
11
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
12 permute=: ?~@# { ]
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
13
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
14
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
15 NB. integers remain as integers ----------------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
16
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
17 <: EI imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
18 >: EI imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
19
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
20 f=: 3 : 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
21 xx=: y $ xi imax <.@% x: y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
22 assert. +/ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
23 assert. +/\ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
24 assert. +/\. EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
25 assert. +/ EI -xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
26 assert. +/\ EI -xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
27 assert. +/\. EI -xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
28 assert. +/ EI yy=: permute , xx ,. - (#xx) ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
29 assert. +/\ EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
30 assert. +/\. EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
31 assert. +/ EI yy=: permute , (-xx) ,. (#xx) ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
32 assert. +/\ EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
33 assert. +/\. EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
34 assert. +/ EI yy=: permute , xx (- ,. ]) (#xx) ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
35 assert. +/\ EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
36 assert. +/\. EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
37 assert. +/ EI yy=: permute , (-xx) (+ ,. ]) (#xx) ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
38 assert. +/\ EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
39 assert. +/\. EI yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
40 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
41 )
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
42
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
43 f 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
44 f 4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
45 f"0 >: 5 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
46
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
47 +: EI x=: xi imax <.@% 2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
48 +: EI x=: xi imin >.@% 2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
49
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
50 f=: 3 : 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
51 n=: <. (0=(2^.yy)|B) -~ yy ^. imax [ yy=: y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
52 assert. */ EI xx=: n $ yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
53 assert. */\ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
54 assert. */\. EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
55 assert. */ EI xx=: permute yy * n$1 _1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
56 assert. */\ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
57 assert. */\. EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
58 assert. */ EI xx=: permute n # q: yy
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
59 assert. */\ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
60 assert. */\. EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
61 assert. */ EI xx=: (1,0=(<:#xx) ?@$ 10) */;.1 xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
62 assert. */\ EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
63 assert. */\. EI xx
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
64 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
65 )
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
66
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
67 f"0 <. (2+10 ?@$ 20) %: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
68 f"0 <. 2^1+i.20
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
69 f"0 ] 2 + 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
70 f"0 ] 2 + 10 ?@$ 1000
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
71
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
72 */ EI x=: B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
73 */ EI x=: (1,0=(B-1) ?@$ 4) */;.1 B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
74 */\ EI x=: B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
75 */\ EI x=: (1,0=(B-1) ?@$ 4) */;.1 B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
76 */\. EI x=: B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
77 */\. EI x=: (1,0=(B-1) ?@$ 4) */;.1 B$_2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
78
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
79 *: EI x=: <. (%:2) * 2^IF64{15 31
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
80 *: EI x=: >. - (%:2) * 2^IF64{15 31
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
81
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
82 - EI imin+1 2 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
83 - EI imax-1 2 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
84
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
85 -. EI imin + 2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
86
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
87 | EI x=: imin + 1+10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
88
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
89 +/ .* EI x=: (n,n) $ <. n %: imax % !n=: 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
90 +/ .* EI x=: (n,n) ?@$ <. n %: imax % !n=: 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
91
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
92 -/ .* EI x=: 10 2 2 ?@$ <. 2 %: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
93
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
94 #. EI x=: ( IF64{31 63) $ 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
95 #. EI x=: (2 3 4,IF64{31 63) ?@$ 2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
96
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
97 0 _1 + CI imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
98 1 + CI imax-1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
99 x + CI imax - x=: 10 ?@$ 10
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
100 x + CI imax - x=: 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
101 0 + CI imax,imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
102 0 1 + CI imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
103 1 + CI imin+1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
104 (-x) + CI imin + x=: 10 ?@$ 10
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
105 (-x) + CI imin + x=: 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
106 imin + CI imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
107
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
108 imax +. CI x=: imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
109 imax +. CI x=: 0 1,imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
110 imax +. CI x=: q: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
111 imax +. CI x=: q: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
112 imin +. CI x=: 1 _1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
113 imin +. CI x=: 1 2 4 8 16
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
114 imin +. CI x=: <. 2^i.IF64{30 62
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
115
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
116 0 - EI x=: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
117 imax - EI x=: 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
118 imax - EI x=: 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
119 x - EI imax [ x=: 10 ?@$ 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
120 x - EI imax [ x=: 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
121 x - EI imax [ x=: 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
122 imin - EI 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
123 imin - EI x=: - 10 ?@$ 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
124 imin - EI x=: - 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
125 imin - EI x=: - 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
126 imin - EI x=: - imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
127 x - EI imin [ x=: - 1 + 10 ?@$ 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
128 x - EI imin [ x=: - 1 + 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
129 x - EI imin [ x=: - 1 + 10 ?@$ 1e6
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
130
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
131 0 1 _1 * CI imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
132 0 1 * CI imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
133 2 * CI xi imax <.@% 2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
134 x * CI xi imax <.@% x: x=: 1+20 ?@$ 10
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
135 x * CI xi imax <.@% x: x=: 1+100 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
136 2 * CI xi imin >.@% 2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
137 x * CI xi imin >.@% x: x=: 1+20 ?@$ 10
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
138 x * CI xi imin >.@% x: x=: 1+100 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
139
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
140 imax *. CI 1,q: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
141 imin *. CI <. 2^ 10 ?@$ IF64{30 62
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
142
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
143 imax | EI imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
144 imin | EI imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
145
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
146 n #. EI 1 $~ <. n ^. 1 + imax * _1 + n=: 2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
147 n #. EI 1 $~ <. n ^. 1 + imax * _1 + n=: 3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
148 n #. EI 1 $~ <. n ^. 1 + imax * _1 + n=: 4
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
149 n #. EI 1 $~ <. n ^. 1 + imax * _1 + n=: 5
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
150 n (#. $&1:)"0 EI x=: <.n^.1+imax*_1+n=: 2+10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
151
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
152 x +/ .* CI y [ x=: 2$1 [ y=: 2$xi imax <.@% 2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
153 x +/ .* CI y [ x=: 3$1 [ y=: 3$xi imax <.@% 3x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
154 1 1 +/ .* CI y=: 1,imax-1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
155 1 1 +/ .* CI y=: 1,imax-2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
156 1 1 +/ .* CI y=: 1,imax-3
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
157
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
158 (2 - 1 1) +/@:* CI 1,imax-1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
159 (2 - 1 1) +/@:* CI 1,imax-2
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
160 _1 2 +/@:* CI 1,x:^:_1 <.imax%2x
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
161
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
162
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
163 NB. integers overflowing into doubles -----------------------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
164
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
165 - E imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
166
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
167 imax + C x=: 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
168 imin + C x=: - 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
169 (-x) + C imin + x=: 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
170
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
171 imin +. C imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
172 imin +. C 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
173
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
174 imax - E _1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
175 imax - E x=: - 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
176 imin - E x=: 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
177
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
178 _1 * C imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
179 imax * C x=: _50 + 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
180 imin * C x=: _50 + 10 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
181
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
182 | E imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
183
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
184 -/ .* E x=: (=i.2) * >. 2 %: imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
185 -/ .* E x=: 10 2 2 ?@$ <. 2^IF64{17 33
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
186
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
187 x +/ .* C y [ x=: 4 1 1 1 1 [ y=: 0 _1 0 1,imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
188 x +/ .* C y [ x=: 4 1 1 1 2 [ y=: 0 0 0 0,imax
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
189 x +/ .* C y [ x=: 4 1 1 1 1 [ y=: 0 _1 0 _1,imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
190 x +/ .* C y [ x=: 4 1 1 1 _1 [ y=: 0 0 0 0,imin
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
191 x +/ .* E y [ x=: 4 1 1 1 1 (?7)}7 5 ?@$ 100 [ y=: (0 _1 0 1,imax) (<a:;?11)}5 11 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
192 x +/ .* E y [ x=: 4 1 1 1 2 (?7)}7 5 ?@$ 100 [ y=: (0 0 0 0,imax) (<a:;?11)}5 11 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
193 x +/ .* E y [ x=: 4 1 1 1 1 (?7)}7 5 ?@$ 100 [ y=: (0 _1 0 _1,imin) (<a:;?11)}5 11 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
194 x +/ .* E y [ x=: 4 1 1 1 _1 (?7)}7 5 ?@$ 100 [ y=: (0 0 0 0,imin) (<a:;?11)}5 11 ?@$ 100
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
195
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
196
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
197 NB. integers overflowing into doubles, asm routines ---------------------
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
198
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
199 f=: 1 : 0
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
200 :
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
201 'A bg'=. x [ nn=.y
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
202 assert. u f. E"1 data=: A i} bg {~( nn,nn) ?@$ #bg [ i=. ,&.>~ i.nn
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
203 assert. u f. E"2 data=: A i} bg {~((*:nn),nn,nn) ?@$ #bg [ i=. (i.*:nn),&.>,{i.&.>nn,nn
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
204 assert. u"1 f. E"2 data
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
205 1
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
206 )
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
207
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
208 (imax; 1000 ?@$ 1e4) +/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
209 (imax; 1000 ?@$ 1e4) +/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
210 (imax; 1000 ?@$ 1e4) +/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
211 (imin;-1000 ?@$ 1e4) +/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
212 (imin;-1000 ?@$ 1e4) +/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
213 (imin;-1000 ?@$ 1e4) +/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
214
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
215 (imax; 1 2) */ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
216 (imax; 1 2) */\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
217 (imax; 1 2) */\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
218 (imin; 1 2) */ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
219 (imin; 1 2) */\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
220 (imin; 1 2) */\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
221
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
222 (imax; 1000 ?@$ 1e4) -/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
223 (imax; 1000 ?@$ 1e4) -/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
224 (imax; 1000 ?@$ 1e4) -/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
225 (imax;-1000 ?@$ 1e4) -/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
226 (imax;-1000 ?@$ 1e4) -/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
227 (imax;-1000 ?@$ 1e4) -/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
228 (imin; 1000 ?@$ 1e4) -/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
229 (imin; 1000 ?@$ 1e4) -/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
230 (imin; 1000 ?@$ 1e4) -/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
231 (imin;-1000 ?@$ 1e4) -/ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
232 (imin;-1000 ?@$ 1e4) -/\ f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
233 (imin;-1000 ?@$ 1e4) -/\. f"1 0 >: i.7
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
234
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
235
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
236 4!:55 ;:'B C CI data E EI f n nn permute V x xi xx y yy'
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
237
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
diff changeset
238