comparison test/gxinf.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
comparison
equal deleted inserted replaced
-1:000000000000 0:e0bbaa717f41
1 NB. x: and infinity -----------------------------------------------------
2
3 match=: -:&(3!:1)
4 xi =: x:^:_1
5
6 ( 64=type x), 5 _ -: x=: 5x _
7 ( 64=type x), 5 _ -: x=: 5r1 _
8
9 (128 -: type x), _ 1r2 match x=:x: _ 0.5
10 (128 -: type x), __ 1r2 match x=:x: __ 0.5
11
12 (8 -: type x), _ __ 225 match x=:xi _ __ 225x
13 (8 -: type x), _ __ 2 match x=:xi _ __ 2x
14 (8 -: type x), _ __ 0.5 match x=:xi _ __ 1r2
15
16 0r1 -: 5r_
17 0r1 -: _5r_
18
19 'ill-formed number' -: ex ' _r_ '
20 'ill-formed number' -: ex ' _r__'
21 'ill-formed number' -: ex '__r_ '
22 'ill-formed number' -: ex '__r__'
23
24
25 NB. infinite integers and rationals and comparatives --------------------
26
27 _ 5x = _ 5x
28 __ 5x = __ 5x
29 _ 5r1 = _ 5r1
30 __ 5r1 = __ 5r1
31 _ 5x = _ 5r1
32 __ 5x = __ 5r1
33
34 0 0 -: _ 2x = 99999x
35 0 0 -: _ 2x = _99999x
36 0 0 -: __ 2x = 99999x
37 0 0 -: __ 2x = _99999x
38
39 pinf=: {. _ 5x
40 ninf=: {. __ 5x
41
42 pinf > ninf
43 pinf > _99999x
44 pinf > - 10^100x
45 pinf > 0x
46 pinf > 99999x
47 pinf > 10^100x
48
49 ( 10^100x) > ninf
50 99999x > ninf
51 0x > ninf
52 _99999x > ninf
53 (- 10^100x) > ninf
54
55 -. pinf > pinf
56 -. ( 10^100x) > pinf
57 -. (-10^100x) > pinf
58 -. ninf > pinf
59 -. ninf > 0x
60 -. ninf > ninf
61
62 pinf >: ninf
63 pinf >: _99999x
64 pinf >: - 10^100x
65 pinf >: 0x
66 pinf >: 99999x
67 pinf >: 10^100x
68 pinf >: pinf
69
70 ( 10^100x) >: ninf
71 99999x >: ninf
72 0x >: ninf
73 _99999x >: ninf
74 (- 10^100x) >: ninf
75 ninf >: ninf
76
77 -. ( 10^100x) >: pinf
78 -. (-10^100x) >: pinf
79 -. ninf >: pinf
80 -. ninf >: 0x
81
82
83 NB. infinite integers and rationals and primitives ----------------------
84
85 _ 5x match _ 2x + _ 3x
86 _ 5x match _ 2x + 5 3x
87 _ 5x match _ 2x + _5 3x
88 __ 5x match __ 2x + __ 3x
89 __ 5x match __ 2x + 5 3x
90 __ 5x match __ 2x + _5 3x
91
92 _ 5r2 match _ 2r2 + _ 3r2
93 _ 5r2 match _ 2r2 + 5 3r2
94 _ 5r2 match _ 2r2 + _5 3r2
95 __ 5r2 match __ 2r2 + __ 3r2
96 __ 5r2 match __ 2r2 + 5 3r2
97 __ 5r2 match __ 2r2 + _5 3r2
98
99 'NaN error' -: _ 2x + etx __ 5x
100 'NaN error' -: _ 2r1 + etx __ 5r4
101 'NaN error' -: __ 2x + etx _ 5x
102 'NaN error' -: __ 2r1 + etx _ 5r4
103
104
105 y=: }. 5x _ __
106 'NaN error' -: y +. etx 12x
107 'NaN error' -: y +. etx _12x
108 'NaN error' -: 12x +. etx y
109 'NaN error' -: _12x +. etx y
110 'NaN error' -: y +. etx y
111 'NaN error' -: y +. etx |.y
112
113 y=: }. 5r1 _ __
114 'NaN error' -: y +. etx 12x
115 'NaN error' -: y +. etx _12x
116 'NaN error' -: 12x +. etx y
117 'NaN error' -: _12x +. etx y
118 'NaN error' -: y +. etx y
119 'NaN error' -: y +. etx |.y
120
121 _ 5x match _ 8x - __ 3x
122 _ 5x match _ 8x - 5 3x
123 _ 5x match _ 8x - _5 3x
124 __ 5x match __ 8x - _ 3x
125 __ 5x match __ 8x - 5 3x
126 __ 5x match __ 8x - _5 3x
127
128 __ _5x match _ 8x -~__ 3x
129 __ _5x match _ 8x -~ 5 3x
130 __ _5x match _ 8x -~_5 3x
131 _ _5x match __ 8x -~ _ 3x
132 _ _5x match __ 8x -~ 5 3x
133 _ _5x match __ 8x -~_5 3x
134
135 _ 5r2 match _ 8r2 - __ 3r2
136 _ 5r2 match _ 8r2 - 5 3r2
137 _ 5r2 match _ 8r2 - _5 3r2
138 __ 5r2 match __ 8r2 - _ 3r2
139 __ 5r2 match __ 8r2 - 5 3r2
140 __ 5r2 match __ 8r2 - _5 3r2
141
142 __ _5r2 match _ 8r2 -~__ 3r2
143 __ _5r2 match _ 8r2 -~ 5 3r2
144 __ _5r2 match _ 8r2 -~_5 3r2
145 _ _5r2 match __ 8r2 -~ _ 3r2
146 _ _5r2 match __ 8r2 -~ 5 3r2
147 _ _5r2 match __ 8r2 -~_5 3r2
148
149 'NaN error' -: _ 2x - etx _ 5x
150 'NaN error' -: _ 2r1 - etx _ 5r4
151 'NaN error' -: __ 2x - etx __ 5x
152 'NaN error' -: __ 2r1 - etx __ 5r4
153
154
155 _1 = * {. __ 2x
156 _1 = * {. __ 2r3
157 1 = * {. _ 2x
158 1 = * {. _ 2r3
159
160 0 0 -: 0 * _ 2x
161 0 0 -: 0 * __ 2x
162 0 0 -: 0 * _ 2r5
163 0 0 -: 0 * __ 2r5
164
165
166 y=: }. 5x _ __
167 'NaN error' -: y *. etx 12x
168 'NaN error' -: y *. etx _12x
169 'NaN error' -: 12x *. etx y
170 'NaN error' -: _12x *. etx y
171
172 x=: {. _ 5x
173 y=: {. __ 5x
174
175 'NaN error' -: x *. etx x
176 'NaN error' -: x *. etx y
177 'NaN error' -: y *. etx x
178 'NaN error' -: y *. etx y
179
180 y=: }. 5r1 _ __
181 'NaN error' -: y *. etx 1r2
182 'NaN error' -: y *. etx _1r2
183 'NaN error' -: 1r2 *. etx y
184 'NaN error' -: _1r2 *. etx y
185
186 x=: {. _ 5r2
187 y=: {. __ 5r2
188
189 'NaN error' -: x *. etx x
190 'NaN error' -: x *. etx y
191 'NaN error' -: y *. etx x
192 'NaN error' -: y *. etx y
193
194 5r0 -: %0x
195 _5r0 -: -%0x
196 5r0 -: %0r1
197 _5r0 -: -%0r1
198
199 x=: {. _ 5x
200 (64=type y), x = y=: 5x % 0x
201 (64=type y),(-x) = y=: _5x % 0x
202 (64=type y), 0x = y=: 5x % x
203 (64=type y), 0x = y=: _5x % x
204
205 x=: {. _ 5x
206 y=: {. __ 5x
207 'NaN error' -: x % etx x
208 'NaN error' -: x % etx y
209 'NaN error' -: y % etx x
210 'NaN error' -: y % etx y
211
212 x=: {. _ 5r2
213 y=: {. __ 5r2
214 'NaN error' -: x % etx x
215 'NaN error' -: x % etx y
216 'NaN error' -: y % etx x
217 'NaN error' -: y % etx y
218
219
220 pinf = | pinf,ninf
221
222 y=: }. 2x _ __
223 (<'NaN error') = 5 _5x | etx&.>/ y
224 (2 2$5 _ __ _5x) -: y |/ 5 _5x
225 y -: 0x | y
226
227 y=: }. 2r3 _ __
228 (<'NaN error') = 5 _5r1 |etx&.>/ y
229 (2 2$5 _ __ _5r1) -: y |/ 5 _5r1
230 y -: 0r1 | y
231
232 _ 2x match ! _ 2x
233 _ 2x match ! _ 2r1
234 _ 2x match ! __ 2x
235 _ 2x match ! __ 2r1
236
237 ( 64 -: type x), '_ __ 5' -: ": x=:_ __ 5x
238 (128 -: type x), '_ __ 5r3' -: ": x=:_ __ 5r3
239
240 'domain error' -: p: etx {. _ 12x
241 'domain error' -: p: etx {. __ 12x
242 'domain error' -: p: etx {. _ 12r7
243 'domain error' -: p: etx {. __ 12r7
244
245 'domain error' -: q: etx {. _ 12x
246 'domain error' -: q: etx {. __ 12x
247 'domain error' -: q: etx {. _ 12r7
248 'domain error' -: q: etx {. __ 12r7
249
250
251 4!:55 ;:'match ninf pinf x xi y'
252
253