ndtypes 0.2.0dev4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (139) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTING.md +50 -0
  3. data/Gemfile +2 -0
  4. data/History.md +0 -0
  5. data/README.md +19 -0
  6. data/Rakefile +125 -0
  7. data/ext/ruby_ndtypes/extconf.rb +55 -0
  8. data/ext/ruby_ndtypes/gc_guard.c +36 -0
  9. data/ext/ruby_ndtypes/gc_guard.h +12 -0
  10. data/ext/ruby_ndtypes/ndtypes/AUTHORS.txt +5 -0
  11. data/ext/ruby_ndtypes/ndtypes/INSTALL.txt +101 -0
  12. data/ext/ruby_ndtypes/ndtypes/LICENSE.txt +29 -0
  13. data/ext/ruby_ndtypes/ndtypes/MANIFEST.in +3 -0
  14. data/ext/ruby_ndtypes/ndtypes/Makefile.in +87 -0
  15. data/ext/ruby_ndtypes/ndtypes/README.rst +47 -0
  16. data/ext/ruby_ndtypes/ndtypes/config.guess +1530 -0
  17. data/ext/ruby_ndtypes/ndtypes/config.h.in +67 -0
  18. data/ext/ruby_ndtypes/ndtypes/config.sub +1782 -0
  19. data/ext/ruby_ndtypes/ndtypes/configure +5260 -0
  20. data/ext/ruby_ndtypes/ndtypes/configure.ac +161 -0
  21. data/ext/ruby_ndtypes/ndtypes/doc/Makefile +14 -0
  22. data/ext/ruby_ndtypes/ndtypes/doc/_static/copybutton.js +66 -0
  23. data/ext/ruby_ndtypes/ndtypes/doc/conf.py +26 -0
  24. data/ext/ruby_ndtypes/ndtypes/doc/grammar/grammar.rst +27 -0
  25. data/ext/ruby_ndtypes/ndtypes/doc/index.rst +56 -0
  26. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/context.rst +131 -0
  27. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/encodings.rst +68 -0
  28. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/fields-values.rst +175 -0
  29. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/functions.rst +72 -0
  30. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/index.rst +43 -0
  31. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/init.rst +48 -0
  32. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/io.rst +100 -0
  33. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/memory.rst +124 -0
  34. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/predicates.rst +110 -0
  35. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/typedef.rst +31 -0
  36. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/types.rst +594 -0
  37. data/ext/ruby_ndtypes/ndtypes/doc/libndtypes/util.rst +166 -0
  38. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/buffer-protocol.rst +27 -0
  39. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/index.rst +21 -0
  40. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/pattern-matching.rst +330 -0
  41. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/quickstart.rst +144 -0
  42. data/ext/ruby_ndtypes/ndtypes/doc/ndtypes/types.rst +544 -0
  43. data/ext/ruby_ndtypes/ndtypes/doc/releases/index.rst +35 -0
  44. data/ext/ruby_ndtypes/ndtypes/install-sh +527 -0
  45. data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.in +271 -0
  46. data/ext/ruby_ndtypes/ndtypes/libndtypes/Makefile.vc +269 -0
  47. data/ext/ruby_ndtypes/ndtypes/libndtypes/alloc.c +230 -0
  48. data/ext/ruby_ndtypes/ndtypes/libndtypes/attr.c +268 -0
  49. data/ext/ruby_ndtypes/ndtypes/libndtypes/attr.h +109 -0
  50. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/Makefile.in +73 -0
  51. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/Makefile.vc +70 -0
  52. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/README.txt +16 -0
  53. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.c +2179 -0
  54. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.h +134 -0
  55. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bpgrammar.y +428 -0
  56. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.c +2543 -0
  57. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.h +735 -0
  58. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/bplexer.l +176 -0
  59. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/export.c +543 -0
  60. data/ext/ruby_ndtypes/ndtypes/libndtypes/compat/import.c +110 -0
  61. data/ext/ruby_ndtypes/ndtypes/libndtypes/context.c +228 -0
  62. data/ext/ruby_ndtypes/ndtypes/libndtypes/copy.c +634 -0
  63. data/ext/ruby_ndtypes/ndtypes/libndtypes/encodings.c +116 -0
  64. data/ext/ruby_ndtypes/ndtypes/libndtypes/equal.c +288 -0
  65. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.c +3067 -0
  66. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.h +180 -0
  67. data/ext/ruby_ndtypes/ndtypes/libndtypes/grammar.y +417 -0
  68. data/ext/ruby_ndtypes/ndtypes/libndtypes/io.c +1658 -0
  69. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.c +2773 -0
  70. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.h +734 -0
  71. data/ext/ruby_ndtypes/ndtypes/libndtypes/lexer.l +222 -0
  72. data/ext/ruby_ndtypes/ndtypes/libndtypes/match.c +1132 -0
  73. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.c +2323 -0
  74. data/ext/ruby_ndtypes/ndtypes/libndtypes/ndtypes.h.in +893 -0
  75. data/ext/ruby_ndtypes/ndtypes/libndtypes/overflow.h +161 -0
  76. data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.c +473 -0
  77. data/ext/ruby_ndtypes/ndtypes/libndtypes/parsefuncs.h +92 -0
  78. data/ext/ruby_ndtypes/ndtypes/libndtypes/parser.c +246 -0
  79. data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.c +269 -0
  80. data/ext/ruby_ndtypes/ndtypes/libndtypes/seq.h +197 -0
  81. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/Makefile.in +48 -0
  82. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/Makefile.vc +46 -0
  83. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/deserialize.c +1007 -0
  84. data/ext/ruby_ndtypes/ndtypes/libndtypes/serialize/serialize.c +442 -0
  85. data/ext/ruby_ndtypes/ndtypes/libndtypes/slice.h +42 -0
  86. data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.c +238 -0
  87. data/ext/ruby_ndtypes/ndtypes/libndtypes/substitute.h +50 -0
  88. data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.c +371 -0
  89. data/ext/ruby_ndtypes/ndtypes/libndtypes/symtable.h +100 -0
  90. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.in +55 -0
  91. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/Makefile.vc +45 -0
  92. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/alloc_fail.c +82 -0
  93. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/alloc_fail.h +49 -0
  94. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/runtest.c +1657 -0
  95. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test.h +85 -0
  96. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_array.c +115 -0
  97. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_buffer.c +137 -0
  98. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_indent.c +201 -0
  99. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_match.c +2397 -0
  100. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_numba.c +57 -0
  101. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse.c +349 -0
  102. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_error.c +27839 -0
  103. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_parse_roundtrip.c +350 -0
  104. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_record.c +231 -0
  105. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_typecheck.c +375 -0
  106. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/test_typedef.c +65 -0
  107. data/ext/ruby_ndtypes/ndtypes/libndtypes/tests/valgrind.supp +30 -0
  108. data/ext/ruby_ndtypes/ndtypes/libndtypes/tools/bench.c +79 -0
  109. data/ext/ruby_ndtypes/ndtypes/libndtypes/tools/indent.c +94 -0
  110. data/ext/ruby_ndtypes/ndtypes/libndtypes/tools/print_ast.c +96 -0
  111. data/ext/ruby_ndtypes/ndtypes/libndtypes/util.c +474 -0
  112. data/ext/ruby_ndtypes/ndtypes/libndtypes/values.c +228 -0
  113. data/ext/ruby_ndtypes/ndtypes/python/bench.py +49 -0
  114. data/ext/ruby_ndtypes/ndtypes/python/ndt_randtype.py +409 -0
  115. data/ext/ruby_ndtypes/ndtypes/python/ndt_support.py +14 -0
  116. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/__init__.py +70 -0
  117. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/_ndtypes.c +1332 -0
  118. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/docstrings.h +319 -0
  119. data/ext/ruby_ndtypes/ndtypes/python/ndtypes/pyndtypes.h +154 -0
  120. data/ext/ruby_ndtypes/ndtypes/python/test_ndtypes.py +1977 -0
  121. data/ext/ruby_ndtypes/ndtypes/setup.py +288 -0
  122. data/ext/ruby_ndtypes/ndtypes/vcbuild/INSTALL.txt +41 -0
  123. data/ext/ruby_ndtypes/ndtypes/vcbuild/runtest32.bat +15 -0
  124. data/ext/ruby_ndtypes/ndtypes/vcbuild/runtest64.bat +13 -0
  125. data/ext/ruby_ndtypes/ndtypes/vcbuild/vcbuild32.bat +38 -0
  126. data/ext/ruby_ndtypes/ndtypes/vcbuild/vcbuild64.bat +38 -0
  127. data/ext/ruby_ndtypes/ndtypes/vcbuild/vcclean.bat +13 -0
  128. data/ext/ruby_ndtypes/ndtypes/vcbuild/vcdistclean.bat +14 -0
  129. data/ext/ruby_ndtypes/ruby_ndtypes.c +1003 -0
  130. data/ext/ruby_ndtypes/ruby_ndtypes.h +37 -0
  131. data/ext/ruby_ndtypes/ruby_ndtypes_internal.h +28 -0
  132. data/lib/ndtypes.rb +45 -0
  133. data/lib/ndtypes/errors.rb +2 -0
  134. data/lib/ndtypes/version.rb +6 -0
  135. data/ndtypes.gemspec +47 -0
  136. data/spec/gc_table_spec.rb +10 -0
  137. data/spec/ndtypes_spec.rb +289 -0
  138. data/spec/spec_helper.rb +241 -0
  139. metadata +242 -0
@@ -0,0 +1,2397 @@
1
+ /*
2
+ * BSD 3-Clause License
3
+ *
4
+ * Copyright (c) 2017-2018, plures
5
+ * All rights reserved.
6
+ *
7
+ * Redistribution and use in source and binary forms, with or without
8
+ * modification, are permitted provided that the following conditions are met:
9
+ *
10
+ * 1. Redistributions of source code must retain the above copyright notice,
11
+ * this list of conditions and the following disclaimer.
12
+ *
13
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
14
+ * this list of conditions and the following disclaimer in the documentation
15
+ * and/or other materials provided with the distribution.
16
+ *
17
+ * 3. Neither the name of the copyright holder nor the names of its
18
+ * contributors may be used to endorse or promote products derived from
19
+ * this software without specific prior written permission.
20
+ *
21
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
+ * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
25
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
26
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
27
+ * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
28
+ * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
29
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
+ */
32
+
33
+
34
+ #include <stdio.h>
35
+ #include "test.h"
36
+
37
+
38
+ const match_testcase_t match_tests[] = {
39
+
40
+ { "2395344366 * Any",
41
+ "2395344366 * int64",
42
+ 1 },
43
+
44
+ { "N * 10 * 2395344366 * Any",
45
+ "10 * 10 * 2395344366 * float64",
46
+ 1 },
47
+
48
+ { "N * N * 2395344366 * Any",
49
+ "10 * 10 * 2395344366 * complex128",
50
+ 1 },
51
+
52
+ { "N * M * 2395344366 * Any",
53
+ "10 * 10 * 2395344366 * complex128",
54
+ 1 },
55
+
56
+ { "N * M * N * Any",
57
+ "10 * 10 * 2395344366 * complex128",
58
+ 0 },
59
+
60
+ { "N * M * P * Any",
61
+ "... * 10 * 2395344366 * complex128",
62
+ 0 },
63
+
64
+ { "N * M * P * Any",
65
+ "... * 10 * 2395344366 * complex128",
66
+ 0 },
67
+
68
+ { "N * M * P * Any",
69
+ "... * 10 * 2395344366 * complex128",
70
+ 0 },
71
+
72
+ { "L * Any",
73
+ "L * (int64, float64)",
74
+ 0 },
75
+
76
+ { "L * Any",
77
+ "10 * (int64, float64)",
78
+ 1 },
79
+
80
+ { "10 * L * Any",
81
+ "100 * 10 * {a: complex64, b: string}",
82
+ 0 },
83
+
84
+ { "10 * L * Any",
85
+ "10 * 10 * {a: complex64}",
86
+ 1 },
87
+
88
+ { "var * int64",
89
+ "10 * int64",
90
+ 0 },
91
+
92
+ { "10 * Any",
93
+ "var * int64",
94
+ 0 },
95
+
96
+ { "... * Any",
97
+ "... * int64",
98
+ 0 },
99
+
100
+ { "... * Any",
101
+ "10 * 20 * 30 * int64",
102
+ 1 },
103
+
104
+ { "... * Any",
105
+ "... * 10 * 30 * int64",
106
+ 0 },
107
+
108
+ { "... * 30 * Any",
109
+ "10 * 2 * 30 * int64",
110
+ 1 },
111
+
112
+ { "... * 20 * N * Any",
113
+ "10 * 10 * 20 * 100 * int64",
114
+ 1 },
115
+
116
+ { "... * N * 10 * Any",
117
+ "10 * 10 * int64",
118
+ 1 },
119
+
120
+ { "... * N * 20 * Any",
121
+ "10 * 10 * int64",
122
+ 0 },
123
+
124
+ { "... * N * N * Any",
125
+ "10 * 2 * 2 * int64",
126
+ 1 },
127
+
128
+ { "... * N * N * Any",
129
+ "... * 10 * 10 * 20 * 20 * int64",
130
+ 0 },
131
+
132
+ { "Any",
133
+ "10 * int64",
134
+ 1 },
135
+
136
+ { "Any",
137
+ "10 * (...) -> int64",
138
+ 0 },
139
+
140
+ { "?Any",
141
+ "?Any",
142
+ 0 },
143
+
144
+ { "10 * Scalar",
145
+ "10 * uint8",
146
+ 1 },
147
+
148
+ { "10 * Scalar",
149
+ "10 * (...)",
150
+ 0 },
151
+
152
+ { "Scalar",
153
+ "int16",
154
+ 1 },
155
+
156
+ { "Scalar",
157
+ "string",
158
+ 1 },
159
+
160
+ { "?Scalar",
161
+ "?uint64",
162
+ 1 },
163
+
164
+ { "10 * bool",
165
+ "10 * bool",
166
+ 1 },
167
+
168
+ { "bool",
169
+ "bool",
170
+ 1 },
171
+
172
+ { "complex128",
173
+ "bool",
174
+ 0 },
175
+
176
+ { "?bool",
177
+ "?bool",
178
+ 1 },
179
+
180
+ { "10 * Signed",
181
+ "10 * Signed",
182
+ 0 },
183
+
184
+ { "10 * Signed",
185
+ "10 * int32",
186
+ 1 },
187
+
188
+ { "Signed",
189
+ "Signed",
190
+ 0 },
191
+
192
+ { "Signed",
193
+ "int64",
194
+ 1 },
195
+
196
+ { "?Signed",
197
+ "?int16",
198
+ 1 },
199
+
200
+ { "10 * int8",
201
+ "10 * int8",
202
+ 1 },
203
+
204
+ { "int8",
205
+ "int8",
206
+ 1 },
207
+
208
+ { "?int8",
209
+ "?Signed",
210
+ 0 },
211
+
212
+ { "10 * int16",
213
+ "10 * int16",
214
+ 1 },
215
+
216
+ { "int16",
217
+ "{...}",
218
+ 0 },
219
+
220
+ { "?int16",
221
+ "?int16",
222
+ 1 },
223
+
224
+ { "10 * int32",
225
+ "10 * int32",
226
+ 1 },
227
+
228
+ { "int32",
229
+ "int32",
230
+ 1 },
231
+
232
+ { "?int32",
233
+ "?int32",
234
+ 1 },
235
+
236
+ { "10 * int64",
237
+ "10 * float64",
238
+ 0 },
239
+
240
+ { "int64",
241
+ "int64",
242
+ 1 },
243
+
244
+ { "?int64",
245
+ "?int64",
246
+ 1 },
247
+
248
+ { "10 * Unsigned",
249
+ "10 * uint16",
250
+ 1 },
251
+
252
+ { "10 * Unsigned",
253
+ "10 * uint8",
254
+ 1 },
255
+
256
+ { "Unsigned",
257
+ "Unsigned",
258
+ 0 },
259
+
260
+ { "?Unsigned",
261
+ "?Unsigned",
262
+ 0 },
263
+
264
+ { "10 * uint8",
265
+ "10 * uint8",
266
+ 1 },
267
+
268
+ { "uint32",
269
+ "uint8",
270
+ 0 },
271
+
272
+ { "?uint8",
273
+ "?uint8",
274
+ 1 },
275
+
276
+ { "10 * uint16",
277
+ "10 * uint16",
278
+ 1 },
279
+
280
+ { "uint16",
281
+ "uint16",
282
+ 1 },
283
+
284
+ { "?uint16",
285
+ "?int16",
286
+ 0 },
287
+
288
+ { "10 * uint32",
289
+ "10 * uint32",
290
+ 1 },
291
+
292
+ { "uint32",
293
+ "uint32",
294
+ 1 },
295
+
296
+ { "?uint32",
297
+ "?uint32",
298
+ 1 },
299
+
300
+ { "10 * uint64",
301
+ "10 * uint64",
302
+ 1 },
303
+
304
+ { "uint64",
305
+ "uint64",
306
+ 1 },
307
+
308
+ { "?uint64",
309
+ "?uint64",
310
+ 1 },
311
+
312
+ { "10 * Float",
313
+ "10 * Float",
314
+ 0 },
315
+
316
+ { "10 * Float",
317
+ "10 * float64",
318
+ 1 },
319
+
320
+ { "float64",
321
+ "float64",
322
+ 1 },
323
+
324
+ { "?float64",
325
+ "?float64",
326
+ 1 },
327
+
328
+ { "10 * Complex",
329
+ "10 * complex128",
330
+ 1 },
331
+
332
+ { "10 * Complex",
333
+ "10 * complex64",
334
+ 1 },
335
+
336
+ { "Complex",
337
+ "Complex",
338
+ 0 },
339
+
340
+ { "Complex",
341
+ "complex128",
342
+ 1 },
343
+
344
+ { "?Complex",
345
+ "?X",
346
+ 0 },
347
+
348
+ { "?X",
349
+ "?Complex",
350
+ 0 },
351
+
352
+ { "10 * complex64",
353
+ "10 * complex64",
354
+ 1 },
355
+
356
+ { "complex64",
357
+ "complex64",
358
+ 1 },
359
+
360
+ { "?complex64",
361
+ "?complex64",
362
+ 1 },
363
+
364
+ { "10 * complex128",
365
+ "10 * complex128",
366
+ 1 },
367
+
368
+ { "complex128",
369
+ "complex64",
370
+ 0 },
371
+
372
+ { "?complex128",
373
+ "?float64",
374
+ 0 },
375
+
376
+ { "10 * char('ascii')",
377
+ "10 * char('ascii')",
378
+ 1 },
379
+
380
+ { "char('ascii')",
381
+ "char('ascii')",
382
+ 1 },
383
+
384
+ { "?char('ascii')",
385
+ "?char('ascii')",
386
+ 1 },
387
+
388
+ { "10 * char('utf8')",
389
+ "10 * char('utf16')",
390
+ 0 },
391
+
392
+ { "char('utf8')",
393
+ "char('utf8')",
394
+ 1 },
395
+
396
+ { "?char('utf8')",
397
+ "?char('utf16')",
398
+ 0 },
399
+
400
+ { "10 * char('utf16')",
401
+ "10 * char('utf16')",
402
+ 1 },
403
+
404
+ { "char('utf16')",
405
+ "char('utf16')",
406
+ 1 },
407
+
408
+ { "?char('utf16')",
409
+ "?char('utf16')",
410
+ 1 },
411
+
412
+ { "10 * char('utf32')",
413
+ "10 * char('utf32')",
414
+ 1 },
415
+
416
+ { "char('utf32')",
417
+ "10 * char('utf32')",
418
+ 0 },
419
+
420
+ { "?char('utf32')",
421
+ "?char('utf32')",
422
+ 1 },
423
+
424
+ { "10 * char('ucs2')",
425
+ "10 * char('ucs2')",
426
+ 1 },
427
+
428
+ { "char('ucs2')",
429
+ "char('ucs2')",
430
+ 1 },
431
+
432
+ { "?char('ucs2')",
433
+ "char('ucs2')",
434
+ 0 },
435
+
436
+ { "10 * string",
437
+ "10 * string",
438
+ 1 },
439
+
440
+ { "string",
441
+ "string",
442
+ 1 },
443
+
444
+ { "?string",
445
+ "?string",
446
+ 1 },
447
+
448
+ { "10 * FixedString",
449
+ "10 * FixedString",
450
+ 0 },
451
+
452
+ { "10 * FixedString",
453
+ "10 * fixed_string(100)",
454
+ 1 },
455
+
456
+ { "FixedString",
457
+ "fixed_bytes(size=200, align=2)",
458
+ 0 },
459
+
460
+ { "?FixedString",
461
+ "?string",
462
+ 0 },
463
+
464
+ { "10 * fixed_string(729742655, 'ascii')",
465
+ "10 * fixed_string(729742655, 'ascii')",
466
+ 1 },
467
+
468
+ { "fixed_string(729742655, 'ascii')",
469
+ "fixed_string(729742655, 'utf32')",
470
+ 0 },
471
+
472
+ { "?fixed_string(729742655, 'ascii')",
473
+ "?fixed_string(729742655, 'ascii')",
474
+ 1 },
475
+
476
+ { "10 * fixed_string(3952068488, 'utf8')",
477
+ "10 * fixed_bytes(size=3952068488, align=2)",
478
+ 0 },
479
+
480
+ { "fixed_string(3952068488, 'utf8')",
481
+ "fixed_string(3952068488, 'utf8')",
482
+ 1 },
483
+
484
+ { "?fixed_string(3952068488, 'utf8')",
485
+ "?fixed_string(3952068488, 'utf8')",
486
+ 1 },
487
+
488
+ { "10 * fixed_string(2949183030, 'utf16')",
489
+ "10 * string",
490
+ 0 },
491
+
492
+ { "fixed_string(2949183030, 'utf16')",
493
+ "fixed_string(2949183030, 'utf16')",
494
+ 1 },
495
+
496
+ { "?fixed_string(2949183030, 'utf16')",
497
+ "?fixed_string(2949183030, 'ascii')",
498
+ 0 },
499
+
500
+ { "10 * fixed_string(375133997, 'utf32')",
501
+ "10 * fixed_string(375133997, 'utf32')",
502
+ 1 },
503
+
504
+ { "fixed_string(375133997, 'utf32')",
505
+ "fixed_string(375133997, 'utf32')",
506
+ 1 },
507
+
508
+ { "?fixed_string(375133997, 'utf32')",
509
+ "?fixed_string(375133997, 'utf32')",
510
+ 1 },
511
+
512
+ { "10 * fixed_string(969064578, 'ucs2')",
513
+ "10 * fixed_string(969064578, 'ucs2')",
514
+ 1 },
515
+
516
+ { "fixed_string(969064578, 'ucs2')",
517
+ "fixed_string(969064578, 'ucs2')",
518
+ 1 },
519
+
520
+ { "?fixed_string(969064578, 'ucs2')",
521
+ "?fixed_string(969064578, 'ucs2')",
522
+ 1 },
523
+
524
+ { "10 * bytes(align=16)",
525
+ "10 * bytes(align=16)",
526
+ 1 },
527
+
528
+ { "bytes(align=16)",
529
+ "bytes(align=16)",
530
+ 1 },
531
+
532
+ { "?bytes(align=16)",
533
+ "?bytes(align=16)",
534
+ 1 },
535
+
536
+ { "10 * FixedBytes",
537
+ "10 * FixedBytes",
538
+ 0 },
539
+
540
+ { "FixedBytes",
541
+ "bytes(align=16)",
542
+ 0 },
543
+
544
+ { "?FixedBytes",
545
+ "?fixed_bytes(size=100, align=2)",
546
+ 1 },
547
+
548
+ { "10 * fixed_bytes(size=1904128700, align=4)",
549
+ "10 * fixed_bytes(size=1904128700, align=4)",
550
+ 1 },
551
+
552
+ { "fixed_bytes(size=1904128700, align=4)",
553
+ "fixed_bytes(size=1904128700, align=2)",
554
+ 0 },
555
+
556
+ { "?fixed_bytes(size=1904128700, align=4)",
557
+ "?fixed_bytes(size=1904128000, align=4)",
558
+ 0 },
559
+
560
+ { "10 * categorical(63)",
561
+ "10 * categorical(63)",
562
+ 1 },
563
+
564
+ { "categorical(63)",
565
+ "categorical(63)",
566
+ 1 },
567
+
568
+ { "?categorical(63)",
569
+ "?categorical(63)",
570
+ 1 },
571
+
572
+ { "categorical(8)",
573
+ "categorical(10)",
574
+ 0 },
575
+
576
+ { "10 * categorical(10, 63)",
577
+ "10 * categorical(10, 63)",
578
+ 1 },
579
+
580
+ { "10 * categorical(10, 63)",
581
+ "10 * categorical(63, 10)",
582
+ 0 },
583
+
584
+ { "categorical(10, 63)",
585
+ "categorical(10, 63)",
586
+ 1 },
587
+
588
+ { "?categorical(10, 63)",
589
+ "?categorical(10, 63)",
590
+ 1 },
591
+
592
+ { "10 * categorical(10, 20, 63)",
593
+ "10 * categorical(10, 20, 63)",
594
+ 1 },
595
+
596
+ { "categorical(10, 20, 63)",
597
+ "categorical(10, 20, 63)",
598
+ 1 },
599
+
600
+ { "?categorical(10, 20, 63)",
601
+ "?categorical(10, 20, 63)",
602
+ 1 },
603
+
604
+ { "10 * categorical(18514)",
605
+ "10 * categorical(18514)",
606
+ 1 },
607
+
608
+ { "categorical(18514)",
609
+ "categorical(18514)",
610
+ 1 },
611
+
612
+ { "?categorical(18514)",
613
+ "?categorical(18514)",
614
+ 1 },
615
+
616
+ { "10 * categorical(10, 18514)",
617
+ "10 * categorical(10, 18514)",
618
+ 1 },
619
+
620
+ { "categorical(10, 18514)",
621
+ "categorical(10, 18514)",
622
+ 1 },
623
+
624
+ { "?categorical(10, 18514)",
625
+ "?categorical(10, 18514)",
626
+ 1 },
627
+
628
+ { "10 * categorical(10, 20, 18514)",
629
+ "10 * categorical(10, 20, 18514)",
630
+ 1 },
631
+
632
+ { "categorical(10, 20, 18514)",
633
+ "categorical(10, 20, 18514)",
634
+ 1 },
635
+
636
+ { "?categorical(10, 20, 18514)",
637
+ "?categorical(10, 20, 18514)",
638
+ 1 },
639
+
640
+ { "10 * categorical(-176354404)",
641
+ "10 * categorical(-176354404)",
642
+ 1 },
643
+
644
+ { "categorical(-176354404)",
645
+ "categorical(-176354404)",
646
+ 1 },
647
+
648
+ { "?categorical(-176354404)",
649
+ "?categorical(-176354404)",
650
+ 1 },
651
+
652
+ { "10 * categorical(10, -176354404)",
653
+ "10 * categorical(10, -176354404)",
654
+ 1 },
655
+
656
+ { "categorical(10, -176354404)",
657
+ "categorical(10, -176354404)",
658
+ 1 },
659
+
660
+ { "?categorical(10, -176354404)",
661
+ "?categorical(10, -176354404)",
662
+ 1 },
663
+
664
+ { "10 * categorical(10, 20, -176354404)",
665
+ "10 * categorical(10, 20, -176354404)",
666
+ 1 },
667
+
668
+ { "categorical(10, 20, -176354404)",
669
+ "categorical(10, 20, -176354404)",
670
+ 1 },
671
+
672
+ { "?categorical(10, 20, -176354404)",
673
+ "?categorical(10, 20, -176354404)",
674
+ 1 },
675
+
676
+ { "10 * categorical(500601201)",
677
+ "10 * categorical(500601201)",
678
+ 1 },
679
+
680
+ { "categorical(500601201)",
681
+ "categorical(500601201)",
682
+ 1 },
683
+
684
+ { "?categorical(500601201)",
685
+ "?categorical(500601201)",
686
+ 1 },
687
+
688
+ { "10 * categorical(10, 500601201)",
689
+ "10 * categorical(10, 500601201)",
690
+ 1 },
691
+
692
+ { "categorical(10, 500601201)",
693
+ "categorical(10, 500601201)",
694
+ 1 },
695
+
696
+ { "?categorical(10, 500601201)",
697
+ "?categorical(10, 500601201)",
698
+ 1 },
699
+
700
+ { "10 * categorical(10, 20, 500601201)",
701
+ "10 * categorical(10, 20, 500601201)",
702
+ 1 },
703
+
704
+ { "categorical(10, 20, 500601201)",
705
+ "categorical(10, 20, 500601201)",
706
+ 1 },
707
+
708
+ { "?categorical(10, 20, 500601201)",
709
+ "?categorical(10, 20, 500601201)",
710
+ 1 },
711
+
712
+ { "10 * categorical(135)",
713
+ "10 * categorical(135)",
714
+ 1 },
715
+
716
+ { "categorical(135)",
717
+ "categorical(135)",
718
+ 1 },
719
+
720
+ { "?categorical(135)",
721
+ "?categorical(135)",
722
+ 1 },
723
+
724
+ { "10 * categorical(10, 135)",
725
+ "10 * categorical(10, 135)",
726
+ 1 },
727
+
728
+ { "categorical(10, 135)",
729
+ "categorical(10, 135)",
730
+ 1 },
731
+
732
+ { "?categorical(10, 135)",
733
+ "?categorical(10, 135)",
734
+ 1 },
735
+
736
+ { "10 * categorical(10, 20, 135)",
737
+ "10 * categorical(10, 20, 135)",
738
+ 1 },
739
+
740
+ { "categorical(10, 20, 135)",
741
+ "categorical(10, 20, 135)",
742
+ 1 },
743
+
744
+ { "?categorical(10, 20, 135)",
745
+ "?categorical(10, 20, 135)",
746
+ 1 },
747
+
748
+ { "10 * categorical(22234)",
749
+ "10 * categorical(22234)",
750
+ 1 },
751
+
752
+ { "categorical(22234)",
753
+ "categorical(22234)",
754
+ 1 },
755
+
756
+ { "?categorical(22234)",
757
+ "?categorical(22234)",
758
+ 1 },
759
+
760
+ { "10 * categorical(10, 22234)",
761
+ "10 * categorical(10, 22234)",
762
+ 1 },
763
+
764
+ { "categorical(10, 22234)",
765
+ "categorical(10, 22234)",
766
+ 1 },
767
+
768
+ { "?categorical(10, 22234)",
769
+ "?categorical(10, 22234)",
770
+ 1 },
771
+
772
+ { "10 * categorical(10, 20, 22234)",
773
+ "10 * categorical(10, 20, 22234)",
774
+ 1 },
775
+
776
+ { "categorical(10, 20, 22234)",
777
+ "categorical(10, 20, 22234)",
778
+ 1 },
779
+
780
+ { "?categorical(10, 20, 22234)",
781
+ "?categorical(10, 20, 22234)",
782
+ 1 },
783
+
784
+ { "10 * categorical(3761672407)",
785
+ "10 * categorical(3761672407)",
786
+ 1 },
787
+
788
+ { "categorical(3761672407)",
789
+ "categorical(3761672407)",
790
+ 1 },
791
+
792
+ { "?categorical(3761672407)",
793
+ "?categorical(3761672407)",
794
+ 1 },
795
+
796
+ { "10 * categorical(10, 3761672407)",
797
+ "10 * categorical(10, 3761672407)",
798
+ 1 },
799
+
800
+ { "categorical(10, 3761672407)",
801
+ "categorical(10, 3761672407)",
802
+ 1 },
803
+
804
+ { "?categorical(10, 3761672407)",
805
+ "?categorical(10, 3761672407)",
806
+ 1 },
807
+
808
+ { "10 * categorical(10, 20, 3761672407)",
809
+ "10 * categorical(10, 20, 3761672407)",
810
+ 1 },
811
+
812
+ { "categorical(10, 20, 3761672407)",
813
+ "categorical(10, 20, 3761672407)",
814
+ 1 },
815
+
816
+ { "?categorical(10, 20, 3761672407)",
817
+ "?categorical(10, 20, 3761672407)",
818
+ 1 },
819
+
820
+ { "10 * categorical(2339269771)",
821
+ "10 * categorical(2339269771)",
822
+ 1 },
823
+
824
+ { "categorical(2339269771)",
825
+ "categorical(2339269771)",
826
+ 1 },
827
+
828
+ { "?categorical(2339269771)",
829
+ "?categorical(2339269771)",
830
+ 1 },
831
+
832
+ { "10 * categorical(10, 2339269771)",
833
+ "10 * categorical(10, 2339269771)",
834
+ 1 },
835
+
836
+ { "categorical(10, 2339269771)",
837
+ "categorical(10, 2339269771)",
838
+ 1 },
839
+
840
+ { "?categorical(10, 2339269771)",
841
+ "?categorical(10, 2339269771)",
842
+ 1 },
843
+
844
+ { "10 * categorical(10, 20, 2339269771)",
845
+ "10 * categorical(10, 20, 2339269771)",
846
+ 1 },
847
+
848
+ { "categorical(10, 20, 2339269771)",
849
+ "categorical(10, 20, 2339269771)",
850
+ 1 },
851
+
852
+ { "?categorical(10, 20, 2339269771)",
853
+ "?categorical(10, 20, 2339269771)",
854
+ 1 },
855
+
856
+ { "10 * categorical(1.2)",
857
+ "10 * categorical(1.2)",
858
+ 1 },
859
+
860
+ { "categorical(-1.2e+33)",
861
+ "categorical(-1.2e+33)",
862
+ 1 },
863
+
864
+ { "?categorical(-1.2e-33)",
865
+ "?categorical(-1.2e-33)",
866
+ 1 },
867
+
868
+ { "10 * categorical(10, 1.05e+10)",
869
+ "10 * categorical(10, 1.05e+10)",
870
+ 1 },
871
+
872
+ { "categorical(10, 1.05e+10)",
873
+ "categorical(10, 1.05e+10)",
874
+ 1 },
875
+
876
+ { "?categorical(10, 1.05e+10)",
877
+ "?categorical(10, 1.05e+10)",
878
+ 1 },
879
+
880
+ { "10 * categorical(10, 20, 1.05e+10)",
881
+ "10 * categorical(10, 20, 1.05e+10)",
882
+ 1 },
883
+
884
+ { "categorical(10, 20, 1.05e+10)",
885
+ "categorical(10, 20, 1.05e+10)",
886
+ 1 },
887
+
888
+ { "?categorical(10, 20, 1.05e+10)",
889
+ "?categorical(10, 20, 1.05e+10)",
890
+ 1 },
891
+
892
+ { "10 * categorical(1.05e+300)",
893
+ "10 * categorical(1.05e+300)",
894
+ 1 },
895
+
896
+ { "categorical(-1.05e+300)",
897
+ "categorical(-1.05e+300)",
898
+ 1 },
899
+
900
+ { "?categorical(-1.05e+300)",
901
+ "?categorical(-1.05e+300)",
902
+ 1 },
903
+
904
+ { "10 * categorical(10, 1.05e+300)",
905
+ "10 * categorical(10, 1.05e+300)",
906
+ 1 },
907
+
908
+ { "categorical(10, 1.05e+300)",
909
+ "categorical(10, 1.05e+300)",
910
+ 1 },
911
+
912
+ { "?categorical(10, 1.05e+300)",
913
+ "?categorical(10, 1.05e+300)",
914
+ 1 },
915
+
916
+ { "10 * categorical(10, 20, 1.05e+300)",
917
+ "10 * categorical(10, 20, 1.05e+300)",
918
+ 1 },
919
+
920
+ { "categorical(10, 20, 1.05e+300)",
921
+ "categorical(10, 20, 1.05e+300)",
922
+ 1 },
923
+
924
+ { "?categorical(10, 20, 1.05e+300)",
925
+ "?categorical(10, 20, 1.05e+300)",
926
+ 1 },
927
+
928
+ { "10 * categorical('jRAMoBPQ')",
929
+ "10 * categorical('jRAMoBPQ')",
930
+ 1 },
931
+
932
+ { "categorical('jRAMoBPQ')",
933
+ "categorical('jRAMoBPQ')",
934
+ 1 },
935
+
936
+ { "?categorical('jRAMoBPQ')",
937
+ "?categorical('jRAMoBPQ')",
938
+ 1 },
939
+
940
+ { "10 * categorical(10, 'jRAMoBPQ')",
941
+ "10 * categorical(10, 'jRAMoBPQ')",
942
+ 1 },
943
+
944
+ { "categorical(10, 'jRAMoBPQ')",
945
+ "categorical(10, 'jRAMoBPQ')",
946
+ 1 },
947
+
948
+ { "?categorical(10, 'jRAMoBPQ')",
949
+ "?categorical(10, 'jRAMoBPQ')",
950
+ 1 },
951
+
952
+ { "10 * categorical(10, 20, 'jRAMoBPQ')",
953
+ "10 * categorical(10, 20, 'jRAMoBPQ')",
954
+ 1 },
955
+
956
+ { "categorical(10, 20, 'jRAMoBPQ')",
957
+ "categorical(10, 20, 'jRAMoBPQ')",
958
+ 1 },
959
+
960
+ { "?categorical(10, 20, 'jRAMoBPQ')",
961
+ "?categorical(10, 20, 'jRAMoBPQ')",
962
+ 1 },
963
+
964
+ { "10 * categorical(127)",
965
+ "10 * categorical(127)",
966
+ 1 },
967
+
968
+ { "categorical(127)",
969
+ "categorical(127)",
970
+ 1 },
971
+
972
+ { "?categorical(127)",
973
+ "?categorical(127)",
974
+ 1 },
975
+
976
+ { "10 * categorical(10, 127)",
977
+ "10 * categorical(10, 127)",
978
+ 1 },
979
+
980
+ { "categorical(10, 127)",
981
+ "categorical(10, 127)",
982
+ 1 },
983
+
984
+ { "?categorical(10, 127)",
985
+ "?categorical(10, 127)",
986
+ 1 },
987
+
988
+ { "10 * categorical(10, 20, 127)",
989
+ "10 * categorical(10, 20, 127)",
990
+ 1 },
991
+
992
+ { "categorical(10, 20, 127)",
993
+ "categorical(10, 20, 127)",
994
+ 1 },
995
+
996
+ { "?categorical(10, 20, 127)",
997
+ "?categorical(10, 20, 127)",
998
+ 1 },
999
+
1000
+ { "10 * categorical(-128)",
1001
+ "10 * categorical(-128)",
1002
+ 1 },
1003
+
1004
+ { "categorical(-128)",
1005
+ "categorical(-128)",
1006
+ 1 },
1007
+
1008
+ { "?categorical(-128)",
1009
+ "?categorical(-128)",
1010
+ 1 },
1011
+
1012
+ { "10 * categorical(10, -128)",
1013
+ "10 * categorical(10, -128)",
1014
+ 1 },
1015
+
1016
+ { "categorical(10, -128)",
1017
+ "categorical(10, -128)",
1018
+ 1 },
1019
+
1020
+ { "?categorical(10, -128)",
1021
+ "?categorical(10, -128)",
1022
+ 1 },
1023
+
1024
+ { "10 * categorical(10, 20, -128)",
1025
+ "10 * categorical(10, 20, -128)",
1026
+ 1 },
1027
+
1028
+ { "categorical(10, 20, -128)",
1029
+ "categorical(10, 20, -128)",
1030
+ 1 },
1031
+
1032
+ { "?categorical(10, 20, -128)",
1033
+ "?categorical(10, 20, -128)",
1034
+ 1 },
1035
+
1036
+ { "10 * categorical(32767)",
1037
+ "10 * categorical(32767)",
1038
+ 1 },
1039
+
1040
+ { "categorical(32767)",
1041
+ "categorical(32767)",
1042
+ 1 },
1043
+
1044
+ { "?categorical(32767)",
1045
+ "?categorical(32767)",
1046
+ 1 },
1047
+
1048
+ { "10 * categorical(10, 32767)",
1049
+ "10 * categorical(10, 32767)",
1050
+ 1 },
1051
+
1052
+ { "categorical(10, 32767)",
1053
+ "categorical(10, 32767)",
1054
+ 1 },
1055
+
1056
+ { "?categorical(10, 32767)",
1057
+ "?categorical(10, 32767)",
1058
+ 1 },
1059
+
1060
+ { "10 * categorical(10, 20, 32767)",
1061
+ "10 * categorical(10, 20, 32767)",
1062
+ 1 },
1063
+
1064
+ { "categorical(10, 20, 32767)",
1065
+ "categorical(10, 20, 32767)",
1066
+ 1 },
1067
+
1068
+ { "?categorical(10, 20, 32767)",
1069
+ "?categorical(10, 20, 32767)",
1070
+ 1 },
1071
+
1072
+ { "10 * categorical(-32768)",
1073
+ "10 * categorical(-32768)",
1074
+ 1 },
1075
+
1076
+ { "categorical(-32768)",
1077
+ "categorical(-32768)",
1078
+ 1 },
1079
+
1080
+ { "?categorical(-32768)",
1081
+ "?categorical(-32768)",
1082
+ 1 },
1083
+
1084
+ { "10 * categorical(10, -32768)",
1085
+ "10 * categorical(10, -32768)",
1086
+ 1 },
1087
+
1088
+ { "categorical(10, -32768)",
1089
+ "categorical(10, -32768)",
1090
+ 1 },
1091
+
1092
+ { "?categorical(10, -32768)",
1093
+ "?categorical(10, -32768)",
1094
+ 1 },
1095
+
1096
+ { "10 * categorical(10, 20, -32768)",
1097
+ "10 * categorical(10, 20, -32768)",
1098
+ 1 },
1099
+
1100
+ { "categorical(10, 20, -32768)",
1101
+ "categorical(10, 20, -32768)",
1102
+ 1 },
1103
+
1104
+ { "?categorical(10, 20, -32768)",
1105
+ "?categorical(10, 20, -32768)",
1106
+ 1 },
1107
+
1108
+ { "10 * categorical(2147483647)",
1109
+ "10 * categorical(2147483647)",
1110
+ 1 },
1111
+
1112
+ { "categorical(2147483647)",
1113
+ "categorical(2147483647)",
1114
+ 1 },
1115
+
1116
+ { "?categorical(2147483647)",
1117
+ "?categorical(2147483647)",
1118
+ 1 },
1119
+
1120
+ { "10 * categorical(10, 2147483647)",
1121
+ "10 * categorical(10, 2147483647)",
1122
+ 1 },
1123
+
1124
+ { "categorical(10, 2147483647)",
1125
+ "categorical(10, 2147483647)",
1126
+ 1 },
1127
+
1128
+ { "?categorical(10, 2147483647)",
1129
+ "?categorical(10, 2147483647)",
1130
+ 1 },
1131
+
1132
+ { "10 * categorical(10, 20, 2147483647)",
1133
+ "10 * categorical(10, 20, 2147483647)",
1134
+ 1 },
1135
+
1136
+ { "categorical(10, 20, 2147483647)",
1137
+ "categorical(10, 20, 2147483647)",
1138
+ 1 },
1139
+
1140
+ { "?categorical(10, 20, 2147483647)",
1141
+ "?categorical(10, 20, 2147483647)",
1142
+ 1 },
1143
+
1144
+ { "10 * categorical(-2147483648)",
1145
+ "10 * categorical(-2147483648)",
1146
+ 1 },
1147
+
1148
+ { "categorical(-2147483648)",
1149
+ "categorical(-2147483648)",
1150
+ 1 },
1151
+
1152
+ { "?categorical(-2147483648)",
1153
+ "?categorical(-2147483648)",
1154
+ 1 },
1155
+
1156
+ { "10 * categorical(10, -2147483648)",
1157
+ "10 * categorical(10, -2147483648)",
1158
+ 1 },
1159
+
1160
+ { "categorical(10, -2147483648)",
1161
+ "categorical(10, -2147483648)",
1162
+ 1 },
1163
+
1164
+ { "?categorical(10, -2147483648)",
1165
+ "?categorical(10, -2147483648)",
1166
+ 1 },
1167
+
1168
+ { "10 * categorical(10, 20, -2147483648)",
1169
+ "10 * categorical(10, 20, -2147483648)",
1170
+ 1 },
1171
+
1172
+ { "categorical(10, 20, -2147483648)",
1173
+ "categorical(10, 20, -2147483648)",
1174
+ 1 },
1175
+
1176
+ { "?categorical(10, 20, -2147483648)",
1177
+ "?categorical(10, 20, -2147483648)",
1178
+ 1 },
1179
+
1180
+ { "10 * categorical(9223372036854775807)",
1181
+ "10 * categorical(9223372036854775807)",
1182
+ 1 },
1183
+
1184
+ { "categorical(9223372036854775807)",
1185
+ "categorical(9223372036854775807)",
1186
+ 1 },
1187
+
1188
+ { "?categorical(9223372036854775807)",
1189
+ "?categorical(9223372036854775807)",
1190
+ 1 },
1191
+
1192
+ { "10 * categorical(10, 9223372036854775807)",
1193
+ "10 * categorical(10, 9223372036854775807)",
1194
+ 1 },
1195
+
1196
+ { "categorical(10, 9223372036854775807)",
1197
+ "categorical(10, 9223372036854775807)",
1198
+ 1 },
1199
+
1200
+ { "?categorical(10, 9223372036854775807)",
1201
+ "?categorical(10, 9223372036854775807)",
1202
+ 1 },
1203
+
1204
+ { "10 * categorical(10, 20, 9223372036854775807)",
1205
+ "10 * categorical(10, 20, 9223372036854775807)",
1206
+ 1 },
1207
+
1208
+ { "categorical(10, 20, 9223372036854775807)",
1209
+ "categorical(10, 20, 9223372036854775807)",
1210
+ 1 },
1211
+
1212
+ { "?categorical(10, 20, 9223372036854775807)",
1213
+ "?categorical(10, 20, 9223372036854775807)",
1214
+ 1 },
1215
+
1216
+ { "10 * categorical(-9223372036854775808)",
1217
+ "10 * categorical(-9223372036854775808)",
1218
+ 1 },
1219
+
1220
+ { "categorical(-9223372036854775808)",
1221
+ "categorical(-9223372036854775808)",
1222
+ 1 },
1223
+
1224
+ { "?categorical(-9223372036854775808)",
1225
+ "?categorical(-9223372036854775808)",
1226
+ 1 },
1227
+
1228
+ { "10 * categorical(10, -9223372036854775808)",
1229
+ "10 * categorical(10, -9223372036854775808)",
1230
+ 1 },
1231
+
1232
+ { "categorical(10, -9223372036854775808)",
1233
+ "categorical(10, -9223372036854775808)",
1234
+ 1 },
1235
+
1236
+ { "?categorical(10, -9223372036854775808)",
1237
+ "?categorical(10, -9223372036854775808)",
1238
+ 1 },
1239
+
1240
+ { "10 * categorical(10, 20, -9223372036854775808)",
1241
+ "10 * categorical(10, 20, -9223372036854775808)",
1242
+ 1 },
1243
+
1244
+ { "categorical(10, 20, -9223372036854775808)",
1245
+ "categorical(10, 20, -9223372036854775808)",
1246
+ 1 },
1247
+
1248
+ { "?categorical(10, 20, -9223372036854775808)",
1249
+ "?categorical(10, 20, -9223372036854775808)",
1250
+ 1 },
1251
+
1252
+ { "10 * categorical(255)",
1253
+ "10 * categorical(255)",
1254
+ 1 },
1255
+
1256
+ { "categorical(255)",
1257
+ "categorical(255)",
1258
+ 1 },
1259
+
1260
+ { "?categorical(255)",
1261
+ "?categorical(255)",
1262
+ 1 },
1263
+
1264
+ { "10 * categorical(10, 255)",
1265
+ "10 * categorical(10, 255)",
1266
+ 1 },
1267
+
1268
+ { "categorical(10, 255)",
1269
+ "categorical(10, 255)",
1270
+ 1 },
1271
+
1272
+ { "?categorical(10, 255)",
1273
+ "?categorical(10, 255)",
1274
+ 1 },
1275
+
1276
+ { "10 * categorical(10, 20, 255)",
1277
+ "10 * categorical(10, 20, 255)",
1278
+ 1 },
1279
+
1280
+ { "categorical(10, 20, 255)",
1281
+ "categorical(10, 20, 255)",
1282
+ 1 },
1283
+
1284
+ { "?categorical(10, 20, 255)",
1285
+ "?categorical(10, 20, 255)",
1286
+ 1 },
1287
+
1288
+ { "10 * categorical(65535)",
1289
+ "10 * categorical(65535)",
1290
+ 1 },
1291
+
1292
+ { "categorical(65535)",
1293
+ "categorical(65535)",
1294
+ 1 },
1295
+
1296
+ { "?categorical(65535)",
1297
+ "?categorical(65535)",
1298
+ 1 },
1299
+
1300
+ { "10 * categorical(10, 65535)",
1301
+ "10 * categorical(10, 65535)",
1302
+ 1 },
1303
+
1304
+ { "categorical(10, 65535)",
1305
+ "categorical(10, 65535)",
1306
+ 1 },
1307
+
1308
+ { "?categorical(10, 65535)",
1309
+ "?categorical(10, 65535)",
1310
+ 1 },
1311
+
1312
+ { "10 * categorical(10, 20, 65535)",
1313
+ "10 * categorical(10, 20, 65535)",
1314
+ 1 },
1315
+
1316
+ { "categorical(10, 20, 65535)",
1317
+ "categorical(10, 20, 65535)",
1318
+ 1 },
1319
+
1320
+ { "?categorical(10, 20, 65535)",
1321
+ "?categorical(10, 20, 65535)",
1322
+ 1 },
1323
+
1324
+ { "10 * categorical(4294967295)",
1325
+ "10 * categorical(4294967295)",
1326
+ 1 },
1327
+
1328
+ { "categorical(4294967295)",
1329
+ "categorical(4294967295)",
1330
+ 1 },
1331
+
1332
+ { "?categorical(4294967295)",
1333
+ "?categorical(4294967295)",
1334
+ 1 },
1335
+
1336
+ { "10 * categorical(10, 4294967295)",
1337
+ "10 * categorical(10, 4294967295)",
1338
+ 1 },
1339
+
1340
+ { "categorical(10, 4294967295)",
1341
+ "categorical(10, 4294967295)",
1342
+ 1 },
1343
+
1344
+ { "?categorical(10, 4294967295)",
1345
+ "?categorical(10, 4294967295)",
1346
+ 1 },
1347
+
1348
+ { "10 * categorical(10, 20, 4294967295)",
1349
+ "10 * categorical(10, 20, 4294967295)",
1350
+ 1 },
1351
+
1352
+ { "categorical(10, 20, 4294967295)",
1353
+ "categorical(10, 20, 4294967295)",
1354
+ 1 },
1355
+
1356
+ { "?categorical(10, 20, 4294967295)",
1357
+ "?categorical(10, 20, 4294967295)",
1358
+ 1 },
1359
+
1360
+ { "10 * categorical(1.1755e-38)",
1361
+ "10 * categorical(1.1755e-38)",
1362
+ 1 },
1363
+
1364
+ { "categorical(1.1755e-38)",
1365
+ "categorical(1.1755e-38)",
1366
+ 1 },
1367
+
1368
+ { "?categorical(1.1755e-38)",
1369
+ "?categorical(1.1755e-38)",
1370
+ 1 },
1371
+
1372
+ { "10 * categorical(10, 1.1755e-38)",
1373
+ "10 * categorical(10, 1.1755e-38)",
1374
+ 1 },
1375
+
1376
+ { "categorical(10, 1.1755e-38)",
1377
+ "categorical(10, 1.1755e-38)",
1378
+ 1 },
1379
+
1380
+ { "?categorical(10, 1.1755e-38)",
1381
+ "?categorical(10, 1.1755e-38)",
1382
+ 1 },
1383
+
1384
+ { "10 * categorical(10, 20, 1.1755e-38)",
1385
+ "10 * categorical(10, 20, 1.1755e-38)",
1386
+ 1 },
1387
+
1388
+ { "categorical(10, 20, 1.1755e-38)",
1389
+ "categorical(10, 20, 1.1755e-38)",
1390
+ 1 },
1391
+
1392
+ { "?categorical(10, 20, 1.1755e-38)",
1393
+ "?categorical(10, 20, 1.1755e-38)",
1394
+ 1 },
1395
+
1396
+ { "10 * categorical(2.22508e-308)",
1397
+ "10 * categorical(2.22508e-308)",
1398
+ 1 },
1399
+
1400
+ { "categorical(2.22508e-308)",
1401
+ "categorical(2.22508e-308)",
1402
+ 1 },
1403
+
1404
+ { "?categorical(2.22508e-308)",
1405
+ "?categorical(2.22508e-308)",
1406
+ 1 },
1407
+
1408
+ { "10 * categorical(10, 2.22508e-308)",
1409
+ "10 * categorical(10, 2.22508e-308)",
1410
+ 1 },
1411
+
1412
+ { "categorical(10, 2.22508e-308)",
1413
+ "categorical(10, 2.22508e-308)",
1414
+ 1 },
1415
+
1416
+ { "?categorical(10, 2.22508e-308)",
1417
+ "?categorical(10, 2.22508e-308)",
1418
+ 1 },
1419
+
1420
+ { "10 * categorical(10, 20, 2.22508e-308)",
1421
+ "10 * categorical(10, 20, 2.22508e-308)",
1422
+ 1 },
1423
+
1424
+ { "categorical(10, 20, 2.22508e-308)",
1425
+ "categorical(10, 20, 2.22508e-308)",
1426
+ 1 },
1427
+
1428
+ { "?categorical(10, 20, 2.22508e-308)",
1429
+ "?categorical(10, 20, 2.22508e-308)",
1430
+ 1 },
1431
+
1432
+ { "10 * categorical(3.40282e+38)",
1433
+ "10 * categorical(3.40282e+38)",
1434
+ 1 },
1435
+
1436
+ { "categorical(3.40282e+38)",
1437
+ "categorical(3.40282e+38)",
1438
+ 1 },
1439
+
1440
+ { "?categorical(3.40282e+38)",
1441
+ "?categorical(3.40282e+38)",
1442
+ 1 },
1443
+
1444
+ { "10 * categorical(10, 3.40282e+38)",
1445
+ "10 * categorical(10, 3.40282e+38)",
1446
+ 1 },
1447
+
1448
+ { "categorical(10, 3.40282e+38)",
1449
+ "categorical(10, 3.40282e+38)",
1450
+ 1 },
1451
+
1452
+ { "?categorical(10, 3.40282e+38)",
1453
+ "?categorical(10, 3.40282e+38)",
1454
+ 1 },
1455
+
1456
+ { "10 * categorical(10, 20, 3.40282e+38)",
1457
+ "10 * categorical(10, 20, 3.40282e+38)",
1458
+ 1 },
1459
+
1460
+ { "categorical(10, 20, 3.40282e+38)",
1461
+ "categorical(10, 20, 3.40282e+38)",
1462
+ 1 },
1463
+
1464
+ { "?categorical(10, 20, 3.40282e+38)",
1465
+ "?categorical(10, 20, 3.40282e+38)",
1466
+ 1 },
1467
+
1468
+ { "10 * categorical(1.79769e+308)",
1469
+ "10 * categorical(1.79769e+308)",
1470
+ 1 },
1471
+
1472
+ { "categorical(1.79769e+308)",
1473
+ "categorical(1.79769e+308)",
1474
+ 1 },
1475
+
1476
+ { "?categorical(1.79769e+308)",
1477
+ "?categorical(1.79769e+308)",
1478
+ 1 },
1479
+
1480
+ { "10 * categorical(10, 1.79769e+308)",
1481
+ "10 * categorical(10, 1.79769e+308)",
1482
+ 1 },
1483
+
1484
+ { "categorical(10, 1.79769e+308)",
1485
+ "categorical(10, 1.79769e+308)",
1486
+ 1 },
1487
+
1488
+ { "?categorical(10, 1.79769e+308)",
1489
+ "?categorical(10, 1.79769e+308)",
1490
+ 1 },
1491
+
1492
+ { "10 * categorical(10, 20, 1.79769e+308)",
1493
+ "10 * categorical(10, 20, 1.79769e+308)",
1494
+ 1 },
1495
+
1496
+ { "categorical(10, 20, 1.79769e+308)",
1497
+ "categorical(10, 20, 1.79769e+308)",
1498
+ 1 },
1499
+
1500
+ { "?categorical(10, 20, 1.79769e+308)",
1501
+ "?categorical(10, 20, 1.79769e+308)",
1502
+ 1 },
1503
+
1504
+ { "10 * categorical('')",
1505
+ "10 * categorical('')",
1506
+ 1 },
1507
+
1508
+ { "categorical('')",
1509
+ "categorical('')",
1510
+ 1 },
1511
+
1512
+ { "?categorical('')",
1513
+ "?categorical('')",
1514
+ 1 },
1515
+
1516
+ { "10 * categorical(10, '')",
1517
+ "10 * categorical(10, '')",
1518
+ 1 },
1519
+
1520
+ { "categorical(10, '')",
1521
+ "categorical(10, '')",
1522
+ 1 },
1523
+
1524
+ { "?categorical(10, '')",
1525
+ "?categorical(10, '')",
1526
+ 1 },
1527
+
1528
+ { "10 * categorical(10, 20, '')",
1529
+ "10 * categorical(10, 20, '')",
1530
+ 1 },
1531
+
1532
+ { "categorical(10, 20, '')",
1533
+ "categorical(10, 20, '')",
1534
+ 1 },
1535
+
1536
+ { "?categorical(10, 20, '')",
1537
+ "?categorical(10, 20, '')",
1538
+ 1 },
1539
+
1540
+ { "10 * categorical('')",
1541
+ "10 * categorical('')",
1542
+ 1 },
1543
+
1544
+ { "categorical('')",
1545
+ "categorical('')",
1546
+ 1 },
1547
+
1548
+ { "?categorical('')",
1549
+ "?categorical('')",
1550
+ 1 },
1551
+
1552
+ { "10 * categorical(10, '')",
1553
+ "10 * categorical(10, '')",
1554
+ 1 },
1555
+
1556
+ { "categorical(10, '')",
1557
+ "categorical(10, '')",
1558
+ 1 },
1559
+
1560
+ { "?categorical(10, '')",
1561
+ "?categorical(10, '')",
1562
+ 1 },
1563
+
1564
+ { "10 * categorical(10, 20, '')",
1565
+ "10 * categorical(10, 20, '')",
1566
+ 1 },
1567
+
1568
+ { "categorical(10, 20, '')",
1569
+ "categorical(10, 20, '')",
1570
+ 1 },
1571
+
1572
+ { "?categorical(10, 20, '')",
1573
+ "?categorical(10, 20, '')",
1574
+ 1 },
1575
+
1576
+ { "10 * categorical('xyz')",
1577
+ "10 * categorical('xyz')",
1578
+ 1 },
1579
+
1580
+ { "categorical('xyz')",
1581
+ "categorical('xyz')",
1582
+ 1 },
1583
+
1584
+ { "?categorical('xyz')",
1585
+ "?categorical('xyz')",
1586
+ 1 },
1587
+
1588
+ { "10 * categorical(10, 'xyz')",
1589
+ "10 * categorical(10, 'xyz')",
1590
+ 1 },
1591
+
1592
+ { "categorical(10, 'xyz')",
1593
+ "categorical(10, 'xyz')",
1594
+ 1 },
1595
+
1596
+ { "?categorical(10, 'xyz')",
1597
+ "?categorical(10, 'xyz')",
1598
+ 1 },
1599
+
1600
+ { "10 * categorical(10, 20, 'xyz')",
1601
+ "10 * categorical(10, 20, 'xyz')",
1602
+ 1 },
1603
+
1604
+ { "categorical(10, 20, 'xyz')",
1605
+ "categorical(10, 20, 'xyz')",
1606
+ 1 },
1607
+
1608
+ { "?categorical(10, 20, 'xyz')",
1609
+ "?categorical(10, 20, 'xyz')",
1610
+ 1 },
1611
+
1612
+ { "10 * categorical('xyz')",
1613
+ "10 * categorical('xyz')",
1614
+ 1 },
1615
+
1616
+ { "categorical('xyz')",
1617
+ "categorical('xyz')",
1618
+ 1 },
1619
+
1620
+ { "?categorical('xyz')",
1621
+ "?categorical('xyz')",
1622
+ 1 },
1623
+
1624
+ { "10 * categorical(10, 'xyz')",
1625
+ "10 * categorical(10, 'xyz')",
1626
+ 1 },
1627
+
1628
+ { "categorical(10, 'xyz')",
1629
+ "categorical(10, 'xyz')",
1630
+ 1 },
1631
+
1632
+ { "?categorical(10, 'xyz')",
1633
+ "?categorical(10, 'xyz')",
1634
+ 1 },
1635
+
1636
+ { "10 * categorical(10, 20, 'xyz')",
1637
+ "10 * categorical(10, 20, 'xyz')",
1638
+ 1 },
1639
+
1640
+ { "categorical(10, 20, 'xyz')",
1641
+ "categorical(10, 20, 'xyz')",
1642
+ 1 },
1643
+
1644
+ { "?categorical(10, 20, 'xyz')",
1645
+ "?categorical(10, 20, 'xyz')",
1646
+ 1 },
1647
+
1648
+ { "10 * ref(Any)",
1649
+ "10 * ref(Any)",
1650
+ 0 },
1651
+
1652
+ { "10 * ref(Any)",
1653
+ "10 * ref(float64)",
1654
+ 1 },
1655
+
1656
+ { "ref(Any)",
1657
+ "ref(Any)",
1658
+ 0 },
1659
+
1660
+ { "ref(Any)",
1661
+ "ref({a: string, b: float64})",
1662
+ 1 },
1663
+
1664
+ { "?ref(Any)",
1665
+ "?ref(Any)",
1666
+ 0 },
1667
+
1668
+ { "10 * (...)",
1669
+ "10 * (...)",
1670
+ 0 },
1671
+
1672
+ { "(...)",
1673
+ "(...)",
1674
+ 0 },
1675
+
1676
+ { "?(...)",
1677
+ "?(...)",
1678
+ 0 },
1679
+
1680
+ { "10 * (Any)",
1681
+ "10 * (complex128)",
1682
+ 1 },
1683
+
1684
+ { "(Any)",
1685
+ "(float64)",
1686
+ 1 },
1687
+
1688
+ { "?(Any)",
1689
+ "?(int64)",
1690
+ 1 },
1691
+
1692
+ { "10 * (int64, Any)",
1693
+ "10 * (int64, float64)",
1694
+ 1 },
1695
+
1696
+ { "(int64, Any)",
1697
+ "(int64, float64)",
1698
+ 1 },
1699
+
1700
+ { "?(int64, Any)",
1701
+ "?(int64, float64)",
1702
+ 1 },
1703
+
1704
+ { "10 * (int64, int64, Any)",
1705
+ "10 * (int64, int64, float64)",
1706
+ 1 },
1707
+
1708
+ { "(int64, int64, Any)",
1709
+ "(int64, int64, float64)",
1710
+ 1 },
1711
+
1712
+ { "?(int64, int64, Any)",
1713
+ "?(int64, int64, float64)",
1714
+ 1 },
1715
+
1716
+ { "10 * (Any)",
1717
+ "10 * (float64)",
1718
+ 1 },
1719
+
1720
+ { "(Any)",
1721
+ "(float64)",
1722
+ 1 },
1723
+
1724
+ { "?(Any)",
1725
+ "?(float64)",
1726
+ 1 },
1727
+
1728
+ { "10 * (Any)",
1729
+ "10 * (float64)",
1730
+ 1 },
1731
+
1732
+ { "(Any)",
1733
+ "(float64)",
1734
+ 1 },
1735
+
1736
+ { "?(Any)",
1737
+ "?(float64)",
1738
+ 1 },
1739
+
1740
+ { "?(Any, ...)",
1741
+ "?(float64, string)",
1742
+ 0 },
1743
+
1744
+ { "10 * {...}",
1745
+ "10 * {x: float64}",
1746
+ 0 },
1747
+
1748
+ { "10 * {a : Any}",
1749
+ "10 * {a : float64}",
1750
+ 1 },
1751
+
1752
+ { "{a : Any}",
1753
+ "{a : float64}",
1754
+ 1 },
1755
+
1756
+ { "?{a : Any}",
1757
+ "?{a : float64}",
1758
+ 1 },
1759
+
1760
+ { "10 * {x : int64, a : Any}",
1761
+ "10 * {x : int64, a : float64}",
1762
+ 1 },
1763
+
1764
+ { "{x : int64, a : Any}",
1765
+ "{x : int64, a : float64}",
1766
+ 1 },
1767
+
1768
+ { "?{x : int64, a : Any}",
1769
+ "?{x : int64, a : float64}",
1770
+ 1 },
1771
+
1772
+ { "10 * {x : int64, x : int64, a : Any}",
1773
+ "10 * {x : int64, x : int64, a : float64}",
1774
+ 1 },
1775
+
1776
+ { "{x : int64, x : int64, a : Any}",
1777
+ "{x : int64, x : int64, a : float64}",
1778
+ 1 },
1779
+
1780
+ { "?{x : int64, x : int64, a : Any}",
1781
+ "?{x : int64, x : int64, a : float64}",
1782
+ 1 },
1783
+
1784
+ { "10 * {a : int64}",
1785
+ "10 * {a : int64}",
1786
+ 1 },
1787
+
1788
+ { "{a : int64}",
1789
+ "{a : int64}",
1790
+ 1 },
1791
+
1792
+ { "?{a : int64}",
1793
+ "?{a : int64}",
1794
+ 1 },
1795
+
1796
+ { "10 * {a : int64}",
1797
+ "10 * {a : int64}",
1798
+ 1 },
1799
+
1800
+ { "{a : int64}",
1801
+ "{a : int64}",
1802
+ 1 },
1803
+
1804
+ { "?{a : int64}",
1805
+ "?{a : int64}",
1806
+ 1 },
1807
+
1808
+ { "10 * (string) -> int64",
1809
+ "10 * (string) -> int64",
1810
+ 0 },
1811
+
1812
+ { "10 * (Any) -> Any",
1813
+ "10 * (string) -> int64",
1814
+ 0 },
1815
+
1816
+ { "(Any) -> Any",
1817
+ "(int64) -> int64",
1818
+ 0 },
1819
+
1820
+ { "10 * Up",
1821
+ "10 * bytes",
1822
+ 1 },
1823
+
1824
+ { "10 * X(bytes)",
1825
+ "10 * X(bytes)",
1826
+ 1 },
1827
+
1828
+ { "X(string)",
1829
+ "X(string)",
1830
+ 1 },
1831
+
1832
+ { "?X(string)",
1833
+ "?X(string)",
1834
+ 1 },
1835
+
1836
+ /* BEGIN RANDOM */
1837
+ { "fixed_bytes(size=1342281000, align=8)",
1838
+ "fixed_bytes(size=1342281000, align=8)",
1839
+ 1 },
1840
+
1841
+ { "?ref(fixed_string(3865363101, 'ucs2'))",
1842
+ "?ref(fixed_string(3865363101, 'ucs2'))",
1843
+ 1 },
1844
+
1845
+ { "categorical('a', 1619552300, 49062, 18772, -84, 'l')",
1846
+ "categorical('a', 1619552300, 49062, 18772, -84, 'l')",
1847
+ 1 },
1848
+
1849
+ { "?categorical(30987, -16536, 1.2e-32, 189, -823800099)",
1850
+ "?categorical(30987, -16536, 1.2e-32, 189, -823800099)",
1851
+ 1 },
1852
+
1853
+ { "categorical(1.2e-32, 2840608325, 44038, 1763886348, 'jOt', 24)",
1854
+ "categorical(1.2e-32, 2840608325, 44038, 1763886348, 'jOt', 24)",
1855
+ 1 },
1856
+
1857
+ { "categorical(-2049848438, 94, 3599739756, 3577056037, 1.2e-32)",
1858
+ "categorical(-2049848438, 94, 3599739756, 3577056037, 1.2e-32)",
1859
+ 1 },
1860
+
1861
+ { "categorical(2753441703, 1.2e-32)",
1862
+ "categorical(2753441703, 1.2e-32)",
1863
+ 1 },
1864
+
1865
+ { "1286044356 * LbR6JPFI * 2096958782 * uint8",
1866
+ "1286044356 * 2 * 2096958782 * uint8",
1867
+ 1 },
1868
+
1869
+ { "categorical(1.2e-32, -25910, 'xM3Mys0XqH', 4265882500)",
1870
+ "categorical(1.2e-32, -25910, 'xM3Mys0XqH', 4265882500)",
1871
+ 1 },
1872
+
1873
+ { "36 * 16 * fixed_bytes(size=912328236, align=2)",
1874
+ "36 * 16 * fixed_bytes(size=912328236, align=2)",
1875
+ 1 },
1876
+
1877
+ { "?categorical(31275, 69, 1.2e-32)",
1878
+ "?categorical(31275, 69, 1.2e-32)",
1879
+ 1 },
1880
+
1881
+ { "categorical('omhwkoWVWw', 43, 946986991)",
1882
+ "categorical('omhwkoWVWw', 43, 946986991)",
1883
+ 1 },
1884
+
1885
+ { "fixed_bytes(size=280180000, align=8)",
1886
+ "fixed_bytes(size=280180000, align=8)",
1887
+ 1 },
1888
+
1889
+ { "fixed_string(1901614748, 'utf32')",
1890
+ "fixed_string(1901614748, 'utf32')",
1891
+ 1 },
1892
+
1893
+ { "... * 2 * categorical(-1869840431, 2052908559)",
1894
+ "2948091211 * 2 * categorical(-1869840431, 2052908559)",
1895
+ 1 },
1896
+
1897
+ { "fixed_bytes(size=1882250000, align=16)",
1898
+ "fixed_bytes(size=1882250000, align=16)",
1899
+ 1 },
1900
+
1901
+ { "categorical(1.2e-32, -58, -83)",
1902
+ "categorical(1.2e-32, -58, -83)",
1903
+ 1 },
1904
+
1905
+ { "37396 * 1476 * 3 * IKd * 450514382 * WXn",
1906
+ "37396 * 1476 * 3 * 1 * 450514382 * int64",
1907
+ 1 },
1908
+
1909
+ { "ref(AilcKv4su1(FixedBytes))",
1910
+ "ref(AilcKv4su1(FixedBytes))",
1911
+ 0 },
1912
+
1913
+ { "?fixed_string(2371793992, 'ucs2')",
1914
+ "?fixed_string(2371793992, 'ucs2')",
1915
+ 1 },
1916
+
1917
+ { "?fixed_bytes(size=3129686000, align=8)",
1918
+ "?fixed_bytes(size=3129686000, align=8)",
1919
+ 1 },
1920
+
1921
+ { "fixed_bytes(size=2882790000, align=16)",
1922
+ "fixed_bytes(size=2882790000, align=16)",
1923
+ 1 },
1924
+
1925
+ { "fixed_bytes(size=1233209000, align=8)",
1926
+ "fixed_bytes(size=1233209000, align=8)",
1927
+ 1 },
1928
+
1929
+ { "WhRsMHHXYp(categorical(145))",
1930
+ "WhRsMHHXYp(categorical(145))",
1931
+ 1 },
1932
+
1933
+ { "?categorical(4079164787, 23814)",
1934
+ "?categorical(4079164787, 23814)",
1935
+ 1 },
1936
+
1937
+ { "?categorical(123, 1.2e-32, 'piLDeH2', 214836863)",
1938
+ "?categorical(123, 1.2e-32, 'piLDeH2', 214836863)",
1939
+ 1 },
1940
+
1941
+ { "categorical(-49, -26791, 1780, -85, 'pX', 8094, 1.2e-32)",
1942
+ "categorical(-49, -26791, 1780, -85, 'pX', 8094, 1.2e-32)",
1943
+ 1 },
1944
+
1945
+ { "D6nfBg_(categorical(147170982, 16278, 1.2e-32, 'ylR7', 26651))",
1946
+ "D6nfBg_(categorical(147170982, 16278, 1.2e-32, 'ylR7', 26651))",
1947
+ 1 },
1948
+
1949
+ { "categorical(-1.2e-32, 3229733591, 482331467, 1.2e-32)",
1950
+ "categorical(-1.2e-32, 3229733591, 482331467, 1.2e-32)",
1951
+ 1 },
1952
+
1953
+ /* END RANDOM */
1954
+
1955
+ /* BEGIN MANUALLY GENERATED */
1956
+
1957
+ { "()",
1958
+ "()",
1959
+ 1 },
1960
+
1961
+ { "(...)",
1962
+ "(...)",
1963
+ 0 },
1964
+
1965
+ { "{}",
1966
+ "{}",
1967
+ 1 },
1968
+
1969
+ { "{...}",
1970
+ "{...}",
1971
+ 0 },
1972
+
1973
+ { "() -> ()",
1974
+ "() -> ()",
1975
+ 0 },
1976
+
1977
+ { "(...) -> ()",
1978
+ "(...) -> ()",
1979
+ 0 },
1980
+
1981
+ { "10 * defined_t",
1982
+ "10 * defined_t",
1983
+ 1 },
1984
+
1985
+ { "defined_t",
1986
+ "defined_t",
1987
+ 1 },
1988
+
1989
+ { "?defined_t",
1990
+ "?defined_t",
1991
+ 1 },
1992
+
1993
+ { "defined_t",
1994
+ "defined_t",
1995
+ 1 },
1996
+
1997
+ { "10 * foo_t",
1998
+ "10 * foo_t",
1999
+ 1 },
2000
+
2001
+ { "foo_t",
2002
+ "foo_t",
2003
+ 1 },
2004
+
2005
+ { "?foo_t",
2006
+ "?foo_t",
2007
+ 1 },
2008
+
2009
+ { "foo_t",
2010
+ "foo_t",
2011
+ 1 },
2012
+
2013
+ { "10 * foo_t",
2014
+ "10 * foo_t", 1 },
2015
+
2016
+ { "10 * foo_t",
2017
+ "11 * foo_t", 0 },
2018
+
2019
+ { "N * foo_t",
2020
+ "10 * foo_t", 1 },
2021
+
2022
+ { "N * foo_t",
2023
+ "10 * int64", 0 },
2024
+
2025
+ { "... * foo_t",
2026
+ "10 * foo_t", 1 },
2027
+
2028
+ { "... * foo_t",
2029
+ "... * foo_t", 0 },
2030
+
2031
+ { "... * foo_t",
2032
+ "... * 10 * foo_t", 0 },
2033
+
2034
+ { "... * 10 * foo_t",
2035
+ "... * foo_t", 0 },
2036
+
2037
+ { "... * foo_t",
2038
+ "... * 10 * foo_t", 0 },
2039
+
2040
+ { "N * N * foo_t",
2041
+ "10 * 10 * foo_t", 1 },
2042
+
2043
+ { "N * Z * foo_t",
2044
+ "10 * 20 * foo_t", 1 },
2045
+
2046
+ { "... * N * Z * foo_t",
2047
+ "10 * 20 * 30 * foo_t", 1 },
2048
+
2049
+ { "... * N * Z * foo_t",
2050
+ "... * 10 * 20 * 30 * 10 * foo_t", 0 },
2051
+
2052
+ { "... * N * Z * N * foo_t",
2053
+ "10 * 20 * 30 * 10 * 30 * foo_t", 1 },
2054
+
2055
+ { "... * N * Z * N * foo_t",
2056
+ "10 * 20 * 30 * 10 * 20 * foo_t", 0 },
2057
+
2058
+ { "... * N * Z * N * foo_t",
2059
+ "A * 20 * 30 * 10 * A * foo_t", 0 },
2060
+
2061
+ { "... * N * Z * N * Z * foo_t",
2062
+ "10 * 20 * 30 * 10 * 30 * 10 * foo_t", 1 },
2063
+
2064
+ { "... * N * Z * 10 * N * Z * foo_t",
2065
+ "9000 * 10 * 20 * 10 * 10 * 20 * foo_t", 1 },
2066
+
2067
+ /* Half-float */
2068
+ { "3 * float16",
2069
+ "3 * float16", 1 },
2070
+
2071
+ { "3 * float32",
2072
+ "3 * float16", 0 },
2073
+
2074
+ { "3 * complex32",
2075
+ "3 * complex32", 1 },
2076
+
2077
+ { "3 * complex64",
2078
+ "3 * complex32", 0 },
2079
+
2080
+ /* Named dtypes using the constructor syntax */
2081
+ { "3 * Matrix(3 * 3 * float64)",
2082
+ "3 * Matrix(3 * 3 * float64)", 1 },
2083
+
2084
+ { "3 * Matrix(3 * 3 * float64)",
2085
+ "3 * 3 * 3 * float64", 0 },
2086
+
2087
+ { "3 * Matrix(3 * 3 * float64)",
2088
+ "3 * OtherMatrix(3 * 3 * float64)", 0 },
2089
+
2090
+ /* Named ellipses */
2091
+
2092
+ { "Dims... * 2 * 3 * int64",
2093
+ "3 * int64", 0 },
2094
+
2095
+ { "Dims... * 2 * 3 * int64",
2096
+ "2 * 3 * int64", 1 },
2097
+
2098
+ { "Dims... * 2 * 3 * int64",
2099
+ "10 * 2 * 3 * int64", 1 },
2100
+
2101
+ { "... * 2 * 3 * int64",
2102
+ "3 * int64", 0 },
2103
+
2104
+ { "... * 2 * 3 * int64",
2105
+ "2 * 3 * int64", 1 },
2106
+
2107
+ { "... * 2 * 3 * int64",
2108
+ "10 * 2 * 3 * int64", 1 },
2109
+
2110
+ { "... * 2 * 3 * int64",
2111
+ "20 * 100 * 2 * 3 * int64", 1 },
2112
+
2113
+ { "A... * float64",
2114
+ "float64", 1 },
2115
+
2116
+ { "A... * float64",
2117
+ "10 * float64", 1 },
2118
+
2119
+ { "A... * float64",
2120
+ "3 * 5 * float64", 1 },
2121
+
2122
+ { "A... * float64",
2123
+ "2 * 3 * float64", 1 },
2124
+
2125
+ { "(A * float64, B * float64, C * float64, A * float64)",
2126
+ "(B * float64, C * float64, 3 * float64, 3 * float64)", 0 },
2127
+
2128
+ { "(M * N * T, N * P * T)",
2129
+ "(2 * 3 * int64, 3 * 10 * int64)", 1 },
2130
+
2131
+ { "... * M * N * T",
2132
+ "3 * int64", 0 },
2133
+
2134
+ { "... * M * N * T",
2135
+ "2 * 3 * int64", 1 },
2136
+
2137
+ { "... * M * N * T",
2138
+ "10 * 2 * 3 * int64", 1 },
2139
+
2140
+ { "D... * T",
2141
+ "int64", 1 },
2142
+
2143
+ { "D... * T",
2144
+ "3 * int64", 1 },
2145
+
2146
+ { "D... * N * T",
2147
+ "int64", 0 },
2148
+
2149
+ { "D... * N * T",
2150
+ "10 * int64", 1 },
2151
+
2152
+ { "D... * N * T",
2153
+ "2 * 10 * int64", 1 },
2154
+
2155
+ { "D... * N * T",
2156
+ "2 * 10 * int64", 1 },
2157
+
2158
+ { "D... * int64",
2159
+ "2 * int64", 1 },
2160
+
2161
+ { "D... * int64",
2162
+ "int64", 1 },
2163
+
2164
+ { "var... * int64",
2165
+ "var * int64", 0 },
2166
+
2167
+ { "var... * int64",
2168
+ "int64", 1 },
2169
+
2170
+ { "var * int64",
2171
+ "int64", 0 },
2172
+
2173
+ { "var * int64",
2174
+ "var * int64", 0 },
2175
+
2176
+ { "var * int64",
2177
+ "var(offsets=[0,10]) * int64", 1 },
2178
+
2179
+ { "var * var * int64",
2180
+ "var(offsets=[0,10]) * int64", 0 },
2181
+
2182
+ { "var * var * int64",
2183
+ "var(offsets=[0,10]) * int64", 0 },
2184
+
2185
+ { "var * var * int64",
2186
+ "var(offsets=[0,3]) * var(offsets=[0,5,20,100]) * int64", 1 },
2187
+
2188
+ { "var * var * int64",
2189
+ "var(offsets=[0,2]) * var(offsets=[0,2,3]) * var(offsets=[0,1,2,3]) * int64", 0 },
2190
+
2191
+ { "var... * int64",
2192
+ "var(offsets=[0,10]) * int64", 1 },
2193
+
2194
+ { "var... * int64",
2195
+ "var(offsets=[0,3]) * var(offsets=[0,5,20,100]) * int64", 1 },
2196
+
2197
+ { "var... * int64",
2198
+ "var(offsets=[0,2]) * var(offsets=[0,2,3]) * var(offsets=[0,1,2,3]) * int64", 1 },
2199
+
2200
+ /* C input required, concrete shapes */
2201
+ { "C[2 * 3 * float64]",
2202
+ "2 * 3 * float64", 1 },
2203
+
2204
+ { "C[2 * 3 * float64]",
2205
+ "!2 * 3 * float64", 0 },
2206
+
2207
+ /* C input required, symbolic shapes */
2208
+ { "C[N * M * float64]",
2209
+ "2 * 3 * float64", 1 },
2210
+
2211
+ { "C[N * M * float64]",
2212
+ "!2 * 3 * float64", 0 },
2213
+
2214
+ /* C input required in inner dimensions, concrete shapes */
2215
+ { "... * C[2 * 3 * float64]",
2216
+ "3 * float64", 0 },
2217
+
2218
+ { "... * C[2 * 3 * float64]",
2219
+ "2 * 3 * float64", 1 },
2220
+
2221
+ { "... * C[2 * 3 * float64]",
2222
+ "10 * 2 * 3 * float64", 1 },
2223
+
2224
+ { "... * C[2 * 3 * float64]",
2225
+ "3 * float64", 0 },
2226
+
2227
+ { "... * C[2 * 3 * float64]",
2228
+ "!2 * 3 * float64", 0 },
2229
+
2230
+ { "... * C[2 * 3 * float64]",
2231
+ "!10 * 2 * 3 * float64", 0 },
2232
+
2233
+ /* C input required in inner dimensions, symbolic shapes */
2234
+ { "... * C[N * M * float64]",
2235
+ "3 * float64", 0 },
2236
+
2237
+ { "... * C[N * M * float64]",
2238
+ "2 * 3 * float64", 1 },
2239
+
2240
+ { "... * C[N * M * float64]",
2241
+ "10 * 2 * 3 * float64", 1 },
2242
+
2243
+ { "... * C[N * M * float64]",
2244
+ "3 * float64", 0 },
2245
+
2246
+ { "... * C[N * M * float64]",
2247
+ "!2 * 3 * float64", 0 },
2248
+
2249
+ { "... * C[N * M * float64]",
2250
+ "!10 * 2 * 3 * float64", 0 },
2251
+
2252
+ /* C input required in all dimensions, concrete shapes */
2253
+ { "C[... * 2 * 3 * float64]",
2254
+ "3 * float64", 0 },
2255
+
2256
+ { "C[... * 2 * 3 * float64]",
2257
+ "2 * 3 * float64", 1 },
2258
+
2259
+ { "C[... * 2 * 3 * float64]",
2260
+ "10 * 2 * 3 * float64", 1 },
2261
+
2262
+ { "C[... * 2 * 3 * float64]",
2263
+ "3 * float64", 0 },
2264
+
2265
+ { "C[... * 2 * 3 * float64]",
2266
+ "10 * 2 * 3 * float64", 1 },
2267
+
2268
+ { "... * C[2 * 3 * float64]",
2269
+ "!2 * 3 * float64", 0 },
2270
+
2271
+ { "... * C[2 * 3 * float64]",
2272
+ "!10 * 2 * 3 * float64", 0 },
2273
+
2274
+ /* C input required in all dimensions, symbolic shapes */
2275
+ { "C[... * N * M * float64]",
2276
+ "3 * float64", 0 },
2277
+
2278
+ { "C[... * N * M * float64]",
2279
+ "2 * 3 * float64", 1 },
2280
+
2281
+ { "C[... * N * M * float64]",
2282
+ "10 * 2 * 3 * float64", 1 },
2283
+
2284
+ { "C[... * N * M * float64]",
2285
+ "3 * float64", 0 },
2286
+
2287
+ { "C[... * N * M * float64]",
2288
+ "!2 * 3 * float64", 0 },
2289
+
2290
+ { "C[... * N * M * float64]",
2291
+ "!10 * 2 * 3 * float64", 0 },
2292
+
2293
+ /* F input required, concrete shapes */
2294
+ { "F[2 * 3 * float64]",
2295
+ "!2 * 3 * float64", 1 },
2296
+
2297
+ { "F[2 * 3 * float64]",
2298
+ "2 * 3 * float64", 0 },
2299
+
2300
+ /* F input required, symbolic shapes */
2301
+ { "F[N * M * float64]",
2302
+ "!2 * 3 * float64", 1 },
2303
+
2304
+ { "F[N * M * float64]",
2305
+ "2 * 3 * float64", 0 },
2306
+
2307
+ /* F input required in inner dimensions, concrete shapes */
2308
+ { "... * F[2 * 3 * float64]",
2309
+ "!3 * float64", 0 },
2310
+
2311
+ { "... * F[2 * 3 * float64]",
2312
+ "!2 * 3 * float64", 1 },
2313
+
2314
+ { "... * F[2 * 3 * float64]",
2315
+ "3 * float64", 0 },
2316
+
2317
+ { "... * F[2 * 3 * float64]",
2318
+ "2 * 3 * float64", 0 },
2319
+
2320
+ { "... * F[2 * 3 * float64]",
2321
+ "10 * 2 * 3 * float64", 0 },
2322
+
2323
+ /* F input required in inner dimensions, symbolic shapes */
2324
+ { "... * F[2 * 3 * float64]",
2325
+ "!3 * float64", 0 },
2326
+
2327
+ { "... * F[2 * 3 * float64]",
2328
+ "!2 * 3 * float64", 1 },
2329
+
2330
+ { "... * F[2 * 3 * float64]",
2331
+ "!3 * float64", 0 },
2332
+
2333
+ { "... * F[2 * 3 * float64]",
2334
+ "2 * 3 * float64", 0 },
2335
+
2336
+ { "... * F[2 * 3 * float64]",
2337
+ "10 * 2 * 3 * float64", 0 },
2338
+
2339
+ /* F input required in all dimensions, concrete shapes */
2340
+ { "F[... * 2 * 3 * float64]",
2341
+ "!3 * float64", 0 },
2342
+
2343
+ { "F[... * 2 * 3 * float64]",
2344
+ "!2 * 3 * float64", 1 },
2345
+
2346
+ { "F[... * 2 * 3 * float64]",
2347
+ "2 * 3 * float64", 0 },
2348
+
2349
+ { "F[... * 2 * 3 * float64]",
2350
+ "10 * 2 * 3 * float64", 0 },
2351
+
2352
+ /* F input required in all dimensions, symbolic shapes */
2353
+ { "F[... * N * M * float64]",
2354
+ "!3 * float64", 0 },
2355
+
2356
+ { "F[... * N * M * float64]",
2357
+ "!2 * 3 * float64", 1 },
2358
+
2359
+ { "F[... * N * M * float64]",
2360
+ "2 * 3 * float64", 0 },
2361
+
2362
+ { "F[... * N * M * float64]",
2363
+ "10 * 2 * 3 * float64", 0 },
2364
+
2365
+ /* C input required, mixed symbolic and fixed */
2366
+ { "... * C[N * 2 * float64]",
2367
+ "2 * float64", 0 },
2368
+
2369
+ { "... * C[N * 2 * float64]",
2370
+ "3 * 1 * float64", 0 },
2371
+
2372
+ { "... * C[N * 2 * float64]",
2373
+ "3 * 2 * float64", 1 },
2374
+
2375
+ { "... * C[N * 2 * float64]",
2376
+ "10 * 3 * 2 * float64", 1 },
2377
+
2378
+ { "... * C[N * 2 * float64]",
2379
+ "!10 * 3 * 2 * float64", 0 },
2380
+
2381
+ /* F input required, mixed symbolic and fixed */
2382
+ { "... * F[N * 2 * float64]",
2383
+ "!2 * float64", 0 },
2384
+
2385
+ { "... * F[N * 2 * float64]",
2386
+ "!3 * 1 * float64", 0 },
2387
+
2388
+ { "... * F[N * 2 * float64]",
2389
+ "!3 * 2 * float64", 1 },
2390
+
2391
+ { "... * F[N * 2 * float64]",
2392
+ "!10 * 3 * 2 * float64", 0 },
2393
+
2394
+ /* END MANUALLY GENERATED */
2395
+
2396
+ { NULL, NULL, 0 }
2397
+ };