Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 415065
1
#ifndef AVOID_PRECOMPILED
2
/* C file produced by GAC */
3
#include "src/compiled.h"
4
5
/* global variables used in handlers */
6
static GVar G_METHOD__0ARGS;
7
static GVar G_METHOD__1ARGS;
8
static GVar G_METHOD__2ARGS;
9
static GVar G_METHOD__3ARGS;
10
static GVar G_METHOD__4ARGS;
11
static GVar G_METHOD__5ARGS;
12
static GVar G_METHOD__6ARGS;
13
static GVar G_METHOD__XARGS;
14
static GVar G_NEXT__METHOD__0ARGS;
15
static GVar G_NEXT__METHOD__1ARGS;
16
static GVar G_NEXT__METHOD__2ARGS;
17
static GVar G_NEXT__METHOD__3ARGS;
18
static GVar G_NEXT__METHOD__4ARGS;
19
static GVar G_NEXT__METHOD__5ARGS;
20
static GVar G_NEXT__METHOD__6ARGS;
21
static GVar G_NEXT__METHOD__XARGS;
22
static GVar G_CONSTRUCTOR__0ARGS;
23
static GVar G_CONSTRUCTOR__1ARGS;
24
static GVar G_CONSTRUCTOR__2ARGS;
25
static GVar G_CONSTRUCTOR__3ARGS;
26
static GVar G_CONSTRUCTOR__4ARGS;
27
static GVar G_CONSTRUCTOR__5ARGS;
28
static GVar G_CONSTRUCTOR__6ARGS;
29
static GVar G_CONSTRUCTOR__XARGS;
30
static GVar G_NEXT__CONSTRUCTOR__0ARGS;
31
static GVar G_NEXT__CONSTRUCTOR__1ARGS;
32
static GVar G_NEXT__CONSTRUCTOR__2ARGS;
33
static GVar G_NEXT__CONSTRUCTOR__3ARGS;
34
static GVar G_NEXT__CONSTRUCTOR__4ARGS;
35
static GVar G_NEXT__CONSTRUCTOR__5ARGS;
36
static GVar G_NEXT__CONSTRUCTOR__6ARGS;
37
static GVar G_NEXT__CONSTRUCTOR__XARGS;
38
static GVar G_Error;
39
static Obj GF_Error;
40
static GVar G_IS__IDENTICAL__OBJ;
41
static Obj GF_IS__IDENTICAL__OBJ;
42
static GVar G_TRY__NEXT__METHOD;
43
static Obj GC_TRY__NEXT__METHOD;
44
static GVar G_IS__SUBSET__FLAGS;
45
static Obj GF_IS__SUBSET__FLAGS;
46
static GVar G_METHODS__OPERATION;
47
static Obj GF_METHODS__OPERATION;
48
static GVar G_fail;
49
static Obj GC_fail;
50
static GVar G_LEN__LIST;
51
static Obj GF_LEN__LIST;
52
static GVar G_AttributeValueNotSet;
53
static GVar G_TypeObj;
54
static Obj GF_TypeObj;
55
static GVar G_FamilyObj;
56
static Obj GF_FamilyObj;
57
58
/* record names used in handlers */
59
60
/* information for the functions */
61
static Obj NameFunc[35];
62
static Obj NamsFunc[35];
63
static Int NargFunc[35];
64
static Obj DefaultName;
65
static Obj FileName;
66
67
/* handler for function 2 */
68
static Obj HdlrFunc2 (
69
Obj self,
70
Obj a_operation )
71
{
72
Obj l_methods = 0;
73
Obj l_i = 0;
74
Obj t_1 = 0;
75
Obj t_2 = 0;
76
Obj t_3 = 0;
77
Obj t_4 = 0;
78
Obj t_5 = 0;
79
Obj t_6 = 0;
80
Obj t_7 = 0;
81
Bag oldFrame;
82
OLD_BRK_CURR_STAT
83
84
/* allocate new stack frame */
85
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
86
REM_BRK_CURR_STAT();
87
SET_BRK_CURR_STAT(0);
88
89
/* methods := METHODS_OPERATION( operation, 0 ); */
90
t_2 = GF_METHODS__OPERATION;
91
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(0) );
92
CHECK_FUNC_RESULT( t_1 )
93
l_methods = t_1;
94
95
/* for i in [ 1, 5 .. LEN_LIST( methods ) - 3 ] do */
96
t_7 = GF_LEN__LIST;
97
t_6 = CALL_1ARGS( t_7, l_methods );
98
CHECK_FUNC_RESULT( t_6 )
99
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(3) )
100
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(5), t_5 );
101
if ( IS_SMALL_LIST(t_4) ) {
102
t_3 = (Obj)(UInt)1;
103
t_1 = INTOBJ_INT(1);
104
}
105
else {
106
t_3 = (Obj)(UInt)0;
107
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
108
}
109
while ( 1 ) {
110
if ( t_3 ) {
111
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
112
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
113
t_1 = (Obj)(((UInt)t_1)+4);
114
if ( t_2 == 0 ) continue;
115
}
116
else {
117
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
118
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
119
}
120
l_i = t_2;
121
122
/* if methods[i]( ) then */
123
CHECK_INT_POS( l_i )
124
C_ELM_LIST_FPL( t_7, l_methods, l_i )
125
CHECK_FUNC( t_7 )
126
t_6 = CALL_0ARGS( t_7 );
127
CHECK_FUNC_RESULT( t_6 )
128
CHECK_BOOL( t_6 )
129
t_5 = (Obj)(UInt)(t_6 != False);
130
if ( t_5 ) {
131
132
/* return methods[i + 1]; */
133
C_SUM_FIA( t_6, l_i, INTOBJ_INT(1) )
134
CHECK_INT_POS( t_6 )
135
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
136
RES_BRK_CURR_STAT();
137
SWITCH_TO_OLD_FRAME(oldFrame);
138
return t_5;
139
140
}
141
/* fi */
142
143
}
144
/* od */
145
146
/* return fail; */
147
t_1 = GC_fail;
148
CHECK_BOUND( t_1, "fail" )
149
RES_BRK_CURR_STAT();
150
SWITCH_TO_OLD_FRAME(oldFrame);
151
return t_1;
152
153
/* return; */
154
RES_BRK_CURR_STAT();
155
SWITCH_TO_OLD_FRAME(oldFrame);
156
return 0;
157
}
158
159
/* handler for function 3 */
160
static Obj HdlrFunc3 (
161
Obj self,
162
Obj a_operation,
163
Obj a_type1 )
164
{
165
Obj l_methods = 0;
166
Obj l_i = 0;
167
Obj t_1 = 0;
168
Obj t_2 = 0;
169
Obj t_3 = 0;
170
Obj t_4 = 0;
171
Obj t_5 = 0;
172
Obj t_6 = 0;
173
Obj t_7 = 0;
174
Obj t_8 = 0;
175
Obj t_9 = 0;
176
Obj t_10 = 0;
177
Obj t_11 = 0;
178
Bag oldFrame;
179
OLD_BRK_CURR_STAT
180
181
/* allocate new stack frame */
182
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
183
REM_BRK_CURR_STAT();
184
SET_BRK_CURR_STAT(0);
185
186
/* methods := METHODS_OPERATION( operation, 1 ); */
187
t_2 = GF_METHODS__OPERATION;
188
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(1) );
189
CHECK_FUNC_RESULT( t_1 )
190
l_methods = t_1;
191
192
/* for i in [ 1, 6 .. LEN_LIST( methods ) - 4 ] do */
193
t_7 = GF_LEN__LIST;
194
t_6 = CALL_1ARGS( t_7, l_methods );
195
CHECK_FUNC_RESULT( t_6 )
196
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(4) )
197
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(6), t_5 );
198
if ( IS_SMALL_LIST(t_4) ) {
199
t_3 = (Obj)(UInt)1;
200
t_1 = INTOBJ_INT(1);
201
}
202
else {
203
t_3 = (Obj)(UInt)0;
204
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
205
}
206
while ( 1 ) {
207
if ( t_3 ) {
208
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
209
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
210
t_1 = (Obj)(((UInt)t_1)+4);
211
if ( t_2 == 0 ) continue;
212
}
213
else {
214
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
215
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
216
}
217
l_i = t_2;
218
219
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and methods[i]( type1![1] ) then */
220
t_8 = GF_IS__SUBSET__FLAGS;
221
C_ELM_POSOBJ_NLE( t_9, a_type1, 2 );
222
C_SUM_FIA( t_11, l_i, INTOBJ_INT(1) )
223
CHECK_INT_POS( t_11 )
224
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
225
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
226
CHECK_FUNC_RESULT( t_7 )
227
CHECK_BOOL( t_7 )
228
t_6 = (Obj)(UInt)(t_7 != False);
229
t_5 = t_6;
230
if ( t_5 ) {
231
CHECK_INT_POS( l_i )
232
C_ELM_LIST_FPL( t_9, l_methods, l_i )
233
CHECK_FUNC( t_9 )
234
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
235
t_8 = CALL_1ARGS( t_9, t_10 );
236
CHECK_FUNC_RESULT( t_8 )
237
CHECK_BOOL( t_8 )
238
t_7 = (Obj)(UInt)(t_8 != False);
239
t_5 = t_7;
240
}
241
if ( t_5 ) {
242
243
/* return methods[i + 2]; */
244
C_SUM_FIA( t_6, l_i, INTOBJ_INT(2) )
245
CHECK_INT_POS( t_6 )
246
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
247
RES_BRK_CURR_STAT();
248
SWITCH_TO_OLD_FRAME(oldFrame);
249
return t_5;
250
251
}
252
/* fi */
253
254
}
255
/* od */
256
257
/* return fail; */
258
t_1 = GC_fail;
259
CHECK_BOUND( t_1, "fail" )
260
RES_BRK_CURR_STAT();
261
SWITCH_TO_OLD_FRAME(oldFrame);
262
return t_1;
263
264
/* return; */
265
RES_BRK_CURR_STAT();
266
SWITCH_TO_OLD_FRAME(oldFrame);
267
return 0;
268
}
269
270
/* handler for function 4 */
271
static Obj HdlrFunc4 (
272
Obj self,
273
Obj a_operation,
274
Obj a_type1,
275
Obj a_type2 )
276
{
277
Obj l_methods = 0;
278
Obj l_i = 0;
279
Obj t_1 = 0;
280
Obj t_2 = 0;
281
Obj t_3 = 0;
282
Obj t_4 = 0;
283
Obj t_5 = 0;
284
Obj t_6 = 0;
285
Obj t_7 = 0;
286
Obj t_8 = 0;
287
Obj t_9 = 0;
288
Obj t_10 = 0;
289
Obj t_11 = 0;
290
Obj t_12 = 0;
291
Obj t_13 = 0;
292
Bag oldFrame;
293
OLD_BRK_CURR_STAT
294
295
/* allocate new stack frame */
296
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
297
REM_BRK_CURR_STAT();
298
SET_BRK_CURR_STAT(0);
299
300
/* methods := METHODS_OPERATION( operation, 2 ); */
301
t_2 = GF_METHODS__OPERATION;
302
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(2) );
303
CHECK_FUNC_RESULT( t_1 )
304
l_methods = t_1;
305
306
/* for i in [ 1, 7 .. LEN_LIST( methods ) - 5 ] do */
307
t_7 = GF_LEN__LIST;
308
t_6 = CALL_1ARGS( t_7, l_methods );
309
CHECK_FUNC_RESULT( t_6 )
310
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(5) )
311
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(7), t_5 );
312
if ( IS_SMALL_LIST(t_4) ) {
313
t_3 = (Obj)(UInt)1;
314
t_1 = INTOBJ_INT(1);
315
}
316
else {
317
t_3 = (Obj)(UInt)0;
318
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
319
}
320
while ( 1 ) {
321
if ( t_3 ) {
322
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
323
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
324
t_1 = (Obj)(((UInt)t_1)+4);
325
if ( t_2 == 0 ) continue;
326
}
327
else {
328
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
329
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
330
}
331
l_i = t_2;
332
333
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and methods[i]( type1![1], type2![1] ) then */
334
t_9 = GF_IS__SUBSET__FLAGS;
335
C_ELM_POSOBJ_NLE( t_10, a_type1, 2 );
336
C_SUM_FIA( t_12, l_i, INTOBJ_INT(1) )
337
CHECK_INT_POS( t_12 )
338
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
339
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
340
CHECK_FUNC_RESULT( t_8 )
341
CHECK_BOOL( t_8 )
342
t_7 = (Obj)(UInt)(t_8 != False);
343
t_6 = t_7;
344
if ( t_6 ) {
345
t_10 = GF_IS__SUBSET__FLAGS;
346
C_ELM_POSOBJ_NLE( t_11, a_type2, 2 );
347
C_SUM_FIA( t_13, l_i, INTOBJ_INT(2) )
348
CHECK_INT_POS( t_13 )
349
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
350
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
351
CHECK_FUNC_RESULT( t_9 )
352
CHECK_BOOL( t_9 )
353
t_8 = (Obj)(UInt)(t_9 != False);
354
t_6 = t_8;
355
}
356
t_5 = t_6;
357
if ( t_5 ) {
358
CHECK_INT_POS( l_i )
359
C_ELM_LIST_FPL( t_9, l_methods, l_i )
360
CHECK_FUNC( t_9 )
361
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
362
C_ELM_POSOBJ_NLE( t_11, a_type2, 1 );
363
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
364
CHECK_FUNC_RESULT( t_8 )
365
CHECK_BOOL( t_8 )
366
t_7 = (Obj)(UInt)(t_8 != False);
367
t_5 = t_7;
368
}
369
if ( t_5 ) {
370
371
/* return methods[i + 3]; */
372
C_SUM_FIA( t_6, l_i, INTOBJ_INT(3) )
373
CHECK_INT_POS( t_6 )
374
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
375
RES_BRK_CURR_STAT();
376
SWITCH_TO_OLD_FRAME(oldFrame);
377
return t_5;
378
379
}
380
/* fi */
381
382
}
383
/* od */
384
385
/* return fail; */
386
t_1 = GC_fail;
387
CHECK_BOUND( t_1, "fail" )
388
RES_BRK_CURR_STAT();
389
SWITCH_TO_OLD_FRAME(oldFrame);
390
return t_1;
391
392
/* return; */
393
RES_BRK_CURR_STAT();
394
SWITCH_TO_OLD_FRAME(oldFrame);
395
return 0;
396
}
397
398
/* handler for function 5 */
399
static Obj HdlrFunc5 (
400
Obj self,
401
Obj a_operation,
402
Obj a_type1,
403
Obj a_type2,
404
Obj a_type3 )
405
{
406
Obj l_methods = 0;
407
Obj l_i = 0;
408
Obj t_1 = 0;
409
Obj t_2 = 0;
410
Obj t_3 = 0;
411
Obj t_4 = 0;
412
Obj t_5 = 0;
413
Obj t_6 = 0;
414
Obj t_7 = 0;
415
Obj t_8 = 0;
416
Obj t_9 = 0;
417
Obj t_10 = 0;
418
Obj t_11 = 0;
419
Obj t_12 = 0;
420
Obj t_13 = 0;
421
Obj t_14 = 0;
422
Bag oldFrame;
423
OLD_BRK_CURR_STAT
424
425
/* allocate new stack frame */
426
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
427
REM_BRK_CURR_STAT();
428
SET_BRK_CURR_STAT(0);
429
430
/* methods := METHODS_OPERATION( operation, 3 ); */
431
t_2 = GF_METHODS__OPERATION;
432
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(3) );
433
CHECK_FUNC_RESULT( t_1 )
434
l_methods = t_1;
435
436
/* for i in [ 1, 8 .. LEN_LIST( methods ) - 6 ] do */
437
t_7 = GF_LEN__LIST;
438
t_6 = CALL_1ARGS( t_7, l_methods );
439
CHECK_FUNC_RESULT( t_6 )
440
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(6) )
441
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(8), t_5 );
442
if ( IS_SMALL_LIST(t_4) ) {
443
t_3 = (Obj)(UInt)1;
444
t_1 = INTOBJ_INT(1);
445
}
446
else {
447
t_3 = (Obj)(UInt)0;
448
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
449
}
450
while ( 1 ) {
451
if ( t_3 ) {
452
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
453
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
454
t_1 = (Obj)(((UInt)t_1)+4);
455
if ( t_2 == 0 ) continue;
456
}
457
else {
458
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
459
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
460
}
461
l_i = t_2;
462
463
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and methods[i]( type1![1], type2![1], type3![1] ) then */
464
t_10 = GF_IS__SUBSET__FLAGS;
465
C_ELM_POSOBJ_NLE( t_11, a_type1, 2 );
466
C_SUM_FIA( t_13, l_i, INTOBJ_INT(1) )
467
CHECK_INT_POS( t_13 )
468
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
469
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
470
CHECK_FUNC_RESULT( t_9 )
471
CHECK_BOOL( t_9 )
472
t_8 = (Obj)(UInt)(t_9 != False);
473
t_7 = t_8;
474
if ( t_7 ) {
475
t_11 = GF_IS__SUBSET__FLAGS;
476
C_ELM_POSOBJ_NLE( t_12, a_type2, 2 );
477
C_SUM_FIA( t_14, l_i, INTOBJ_INT(2) )
478
CHECK_INT_POS( t_14 )
479
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
480
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
481
CHECK_FUNC_RESULT( t_10 )
482
CHECK_BOOL( t_10 )
483
t_9 = (Obj)(UInt)(t_10 != False);
484
t_7 = t_9;
485
}
486
t_6 = t_7;
487
if ( t_6 ) {
488
t_10 = GF_IS__SUBSET__FLAGS;
489
C_ELM_POSOBJ_NLE( t_11, a_type3, 2 );
490
C_SUM_FIA( t_13, l_i, INTOBJ_INT(3) )
491
CHECK_INT_POS( t_13 )
492
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
493
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
494
CHECK_FUNC_RESULT( t_9 )
495
CHECK_BOOL( t_9 )
496
t_8 = (Obj)(UInt)(t_9 != False);
497
t_6 = t_8;
498
}
499
t_5 = t_6;
500
if ( t_5 ) {
501
CHECK_INT_POS( l_i )
502
C_ELM_LIST_FPL( t_9, l_methods, l_i )
503
CHECK_FUNC( t_9 )
504
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
505
C_ELM_POSOBJ_NLE( t_11, a_type2, 1 );
506
C_ELM_POSOBJ_NLE( t_12, a_type3, 1 );
507
t_8 = CALL_3ARGS( t_9, t_10, t_11, t_12 );
508
CHECK_FUNC_RESULT( t_8 )
509
CHECK_BOOL( t_8 )
510
t_7 = (Obj)(UInt)(t_8 != False);
511
t_5 = t_7;
512
}
513
if ( t_5 ) {
514
515
/* return methods[i + 4]; */
516
C_SUM_FIA( t_6, l_i, INTOBJ_INT(4) )
517
CHECK_INT_POS( t_6 )
518
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
519
RES_BRK_CURR_STAT();
520
SWITCH_TO_OLD_FRAME(oldFrame);
521
return t_5;
522
523
}
524
/* fi */
525
526
}
527
/* od */
528
529
/* return fail; */
530
t_1 = GC_fail;
531
CHECK_BOUND( t_1, "fail" )
532
RES_BRK_CURR_STAT();
533
SWITCH_TO_OLD_FRAME(oldFrame);
534
return t_1;
535
536
/* return; */
537
RES_BRK_CURR_STAT();
538
SWITCH_TO_OLD_FRAME(oldFrame);
539
return 0;
540
}
541
542
/* handler for function 6 */
543
static Obj HdlrFunc6 (
544
Obj self,
545
Obj a_operation,
546
Obj a_type1,
547
Obj a_type2,
548
Obj a_type3,
549
Obj a_type4 )
550
{
551
Obj l_methods = 0;
552
Obj l_i = 0;
553
Obj t_1 = 0;
554
Obj t_2 = 0;
555
Obj t_3 = 0;
556
Obj t_4 = 0;
557
Obj t_5 = 0;
558
Obj t_6 = 0;
559
Obj t_7 = 0;
560
Obj t_8 = 0;
561
Obj t_9 = 0;
562
Obj t_10 = 0;
563
Obj t_11 = 0;
564
Obj t_12 = 0;
565
Obj t_13 = 0;
566
Obj t_14 = 0;
567
Obj t_15 = 0;
568
Bag oldFrame;
569
OLD_BRK_CURR_STAT
570
571
/* allocate new stack frame */
572
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
573
REM_BRK_CURR_STAT();
574
SET_BRK_CURR_STAT(0);
575
576
/* methods := METHODS_OPERATION( operation, 4 ); */
577
t_2 = GF_METHODS__OPERATION;
578
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(4) );
579
CHECK_FUNC_RESULT( t_1 )
580
l_methods = t_1;
581
582
/* for i in [ 1, 9 .. LEN_LIST( methods ) - 7 ] do */
583
t_7 = GF_LEN__LIST;
584
t_6 = CALL_1ARGS( t_7, l_methods );
585
CHECK_FUNC_RESULT( t_6 )
586
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(7) )
587
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(9), t_5 );
588
if ( IS_SMALL_LIST(t_4) ) {
589
t_3 = (Obj)(UInt)1;
590
t_1 = INTOBJ_INT(1);
591
}
592
else {
593
t_3 = (Obj)(UInt)0;
594
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
595
}
596
while ( 1 ) {
597
if ( t_3 ) {
598
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
599
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
600
t_1 = (Obj)(((UInt)t_1)+4);
601
if ( t_2 == 0 ) continue;
602
}
603
else {
604
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
605
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
606
}
607
l_i = t_2;
608
609
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] ) and methods[i]( type1![1], type2![1], type3![1],
610
type4![1] ) then */
611
t_11 = GF_IS__SUBSET__FLAGS;
612
C_ELM_POSOBJ_NLE( t_12, a_type1, 2 );
613
C_SUM_FIA( t_14, l_i, INTOBJ_INT(1) )
614
CHECK_INT_POS( t_14 )
615
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
616
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
617
CHECK_FUNC_RESULT( t_10 )
618
CHECK_BOOL( t_10 )
619
t_9 = (Obj)(UInt)(t_10 != False);
620
t_8 = t_9;
621
if ( t_8 ) {
622
t_12 = GF_IS__SUBSET__FLAGS;
623
C_ELM_POSOBJ_NLE( t_13, a_type2, 2 );
624
C_SUM_FIA( t_15, l_i, INTOBJ_INT(2) )
625
CHECK_INT_POS( t_15 )
626
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
627
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
628
CHECK_FUNC_RESULT( t_11 )
629
CHECK_BOOL( t_11 )
630
t_10 = (Obj)(UInt)(t_11 != False);
631
t_8 = t_10;
632
}
633
t_7 = t_8;
634
if ( t_7 ) {
635
t_11 = GF_IS__SUBSET__FLAGS;
636
C_ELM_POSOBJ_NLE( t_12, a_type3, 2 );
637
C_SUM_FIA( t_14, l_i, INTOBJ_INT(3) )
638
CHECK_INT_POS( t_14 )
639
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
640
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
641
CHECK_FUNC_RESULT( t_10 )
642
CHECK_BOOL( t_10 )
643
t_9 = (Obj)(UInt)(t_10 != False);
644
t_7 = t_9;
645
}
646
t_6 = t_7;
647
if ( t_6 ) {
648
t_10 = GF_IS__SUBSET__FLAGS;
649
C_ELM_POSOBJ_NLE( t_11, a_type4, 2 );
650
C_SUM_FIA( t_13, l_i, INTOBJ_INT(4) )
651
CHECK_INT_POS( t_13 )
652
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
653
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
654
CHECK_FUNC_RESULT( t_9 )
655
CHECK_BOOL( t_9 )
656
t_8 = (Obj)(UInt)(t_9 != False);
657
t_6 = t_8;
658
}
659
t_5 = t_6;
660
if ( t_5 ) {
661
CHECK_INT_POS( l_i )
662
C_ELM_LIST_FPL( t_9, l_methods, l_i )
663
CHECK_FUNC( t_9 )
664
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
665
C_ELM_POSOBJ_NLE( t_11, a_type2, 1 );
666
C_ELM_POSOBJ_NLE( t_12, a_type3, 1 );
667
C_ELM_POSOBJ_NLE( t_13, a_type4, 1 );
668
t_8 = CALL_4ARGS( t_9, t_10, t_11, t_12, t_13 );
669
CHECK_FUNC_RESULT( t_8 )
670
CHECK_BOOL( t_8 )
671
t_7 = (Obj)(UInt)(t_8 != False);
672
t_5 = t_7;
673
}
674
if ( t_5 ) {
675
676
/* return methods[i + 5]; */
677
C_SUM_FIA( t_6, l_i, INTOBJ_INT(5) )
678
CHECK_INT_POS( t_6 )
679
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
680
RES_BRK_CURR_STAT();
681
SWITCH_TO_OLD_FRAME(oldFrame);
682
return t_5;
683
684
}
685
/* fi */
686
687
}
688
/* od */
689
690
/* return fail; */
691
t_1 = GC_fail;
692
CHECK_BOUND( t_1, "fail" )
693
RES_BRK_CURR_STAT();
694
SWITCH_TO_OLD_FRAME(oldFrame);
695
return t_1;
696
697
/* return; */
698
RES_BRK_CURR_STAT();
699
SWITCH_TO_OLD_FRAME(oldFrame);
700
return 0;
701
}
702
703
/* handler for function 7 */
704
static Obj HdlrFunc7 (
705
Obj self,
706
Obj a_operation,
707
Obj a_type1,
708
Obj a_type2,
709
Obj a_type3,
710
Obj a_type4,
711
Obj a_type5 )
712
{
713
Obj l_methods = 0;
714
Obj l_i = 0;
715
Obj t_1 = 0;
716
Obj t_2 = 0;
717
Obj t_3 = 0;
718
Obj t_4 = 0;
719
Obj t_5 = 0;
720
Obj t_6 = 0;
721
Obj t_7 = 0;
722
Obj t_8 = 0;
723
Obj t_9 = 0;
724
Obj t_10 = 0;
725
Obj t_11 = 0;
726
Obj t_12 = 0;
727
Obj t_13 = 0;
728
Obj t_14 = 0;
729
Obj t_15 = 0;
730
Obj t_16 = 0;
731
Bag oldFrame;
732
OLD_BRK_CURR_STAT
733
734
/* allocate new stack frame */
735
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
736
REM_BRK_CURR_STAT();
737
SET_BRK_CURR_STAT(0);
738
739
/* methods := METHODS_OPERATION( operation, 5 ); */
740
t_2 = GF_METHODS__OPERATION;
741
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(5) );
742
CHECK_FUNC_RESULT( t_1 )
743
l_methods = t_1;
744
745
/* for i in [ 1, 10 .. LEN_LIST( methods ) - 8 ] do */
746
t_7 = GF_LEN__LIST;
747
t_6 = CALL_1ARGS( t_7, l_methods );
748
CHECK_FUNC_RESULT( t_6 )
749
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(8) )
750
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(10), t_5 );
751
if ( IS_SMALL_LIST(t_4) ) {
752
t_3 = (Obj)(UInt)1;
753
t_1 = INTOBJ_INT(1);
754
}
755
else {
756
t_3 = (Obj)(UInt)0;
757
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
758
}
759
while ( 1 ) {
760
if ( t_3 ) {
761
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
762
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
763
t_1 = (Obj)(((UInt)t_1)+4);
764
if ( t_2 == 0 ) continue;
765
}
766
else {
767
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
768
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
769
}
770
l_i = t_2;
771
772
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] ) and IS_SUBSET_FLAGS( type5![2], methods[i + 5] )
773
and methods[i]( type1![1], type2![1], type3![1], type4![1], type5![1] ) then */
774
t_12 = GF_IS__SUBSET__FLAGS;
775
C_ELM_POSOBJ_NLE( t_13, a_type1, 2 );
776
C_SUM_FIA( t_15, l_i, INTOBJ_INT(1) )
777
CHECK_INT_POS( t_15 )
778
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
779
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
780
CHECK_FUNC_RESULT( t_11 )
781
CHECK_BOOL( t_11 )
782
t_10 = (Obj)(UInt)(t_11 != False);
783
t_9 = t_10;
784
if ( t_9 ) {
785
t_13 = GF_IS__SUBSET__FLAGS;
786
C_ELM_POSOBJ_NLE( t_14, a_type2, 2 );
787
C_SUM_FIA( t_16, l_i, INTOBJ_INT(2) )
788
CHECK_INT_POS( t_16 )
789
C_ELM_LIST_FPL( t_15, l_methods, t_16 )
790
t_12 = CALL_2ARGS( t_13, t_14, t_15 );
791
CHECK_FUNC_RESULT( t_12 )
792
CHECK_BOOL( t_12 )
793
t_11 = (Obj)(UInt)(t_12 != False);
794
t_9 = t_11;
795
}
796
t_8 = t_9;
797
if ( t_8 ) {
798
t_12 = GF_IS__SUBSET__FLAGS;
799
C_ELM_POSOBJ_NLE( t_13, a_type3, 2 );
800
C_SUM_FIA( t_15, l_i, INTOBJ_INT(3) )
801
CHECK_INT_POS( t_15 )
802
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
803
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
804
CHECK_FUNC_RESULT( t_11 )
805
CHECK_BOOL( t_11 )
806
t_10 = (Obj)(UInt)(t_11 != False);
807
t_8 = t_10;
808
}
809
t_7 = t_8;
810
if ( t_7 ) {
811
t_11 = GF_IS__SUBSET__FLAGS;
812
C_ELM_POSOBJ_NLE( t_12, a_type4, 2 );
813
C_SUM_FIA( t_14, l_i, INTOBJ_INT(4) )
814
CHECK_INT_POS( t_14 )
815
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
816
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
817
CHECK_FUNC_RESULT( t_10 )
818
CHECK_BOOL( t_10 )
819
t_9 = (Obj)(UInt)(t_10 != False);
820
t_7 = t_9;
821
}
822
t_6 = t_7;
823
if ( t_6 ) {
824
t_10 = GF_IS__SUBSET__FLAGS;
825
C_ELM_POSOBJ_NLE( t_11, a_type5, 2 );
826
C_SUM_FIA( t_13, l_i, INTOBJ_INT(5) )
827
CHECK_INT_POS( t_13 )
828
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
829
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
830
CHECK_FUNC_RESULT( t_9 )
831
CHECK_BOOL( t_9 )
832
t_8 = (Obj)(UInt)(t_9 != False);
833
t_6 = t_8;
834
}
835
t_5 = t_6;
836
if ( t_5 ) {
837
CHECK_INT_POS( l_i )
838
C_ELM_LIST_FPL( t_9, l_methods, l_i )
839
CHECK_FUNC( t_9 )
840
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
841
C_ELM_POSOBJ_NLE( t_11, a_type2, 1 );
842
C_ELM_POSOBJ_NLE( t_12, a_type3, 1 );
843
C_ELM_POSOBJ_NLE( t_13, a_type4, 1 );
844
C_ELM_POSOBJ_NLE( t_14, a_type5, 1 );
845
t_8 = CALL_5ARGS( t_9, t_10, t_11, t_12, t_13, t_14 );
846
CHECK_FUNC_RESULT( t_8 )
847
CHECK_BOOL( t_8 )
848
t_7 = (Obj)(UInt)(t_8 != False);
849
t_5 = t_7;
850
}
851
if ( t_5 ) {
852
853
/* return methods[i + 6]; */
854
C_SUM_FIA( t_6, l_i, INTOBJ_INT(6) )
855
CHECK_INT_POS( t_6 )
856
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
857
RES_BRK_CURR_STAT();
858
SWITCH_TO_OLD_FRAME(oldFrame);
859
return t_5;
860
861
}
862
/* fi */
863
864
}
865
/* od */
866
867
/* return fail; */
868
t_1 = GC_fail;
869
CHECK_BOUND( t_1, "fail" )
870
RES_BRK_CURR_STAT();
871
SWITCH_TO_OLD_FRAME(oldFrame);
872
return t_1;
873
874
/* return; */
875
RES_BRK_CURR_STAT();
876
SWITCH_TO_OLD_FRAME(oldFrame);
877
return 0;
878
}
879
880
/* handler for function 8 */
881
static Obj HdlrFunc8 (
882
Obj self,
883
Obj args )
884
{
885
Obj a_operation;
886
Obj a_type1;
887
Obj a_type2;
888
Obj a_type3;
889
Obj a_type4;
890
Obj a_type5;
891
Obj a_type6;
892
Obj l_methods = 0;
893
Obj l_i = 0;
894
Obj t_1 = 0;
895
Obj t_2 = 0;
896
Obj t_3 = 0;
897
Obj t_4 = 0;
898
Obj t_5 = 0;
899
Obj t_6 = 0;
900
Obj t_7 = 0;
901
Obj t_8 = 0;
902
Obj t_9 = 0;
903
Obj t_10 = 0;
904
Obj t_11 = 0;
905
Obj t_12 = 0;
906
Obj t_13 = 0;
907
Obj t_14 = 0;
908
Obj t_15 = 0;
909
Obj t_16 = 0;
910
Obj t_17 = 0;
911
Bag oldFrame;
912
OLD_BRK_CURR_STAT
913
CHECK_NR_ARGS( 7, args )
914
a_operation = ELM_PLIST( args, 1 );
915
a_type1 = ELM_PLIST( args, 2 );
916
a_type2 = ELM_PLIST( args, 3 );
917
a_type3 = ELM_PLIST( args, 4 );
918
a_type4 = ELM_PLIST( args, 5 );
919
a_type5 = ELM_PLIST( args, 6 );
920
a_type6 = ELM_PLIST( args, 7 );
921
922
/* allocate new stack frame */
923
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
924
REM_BRK_CURR_STAT();
925
SET_BRK_CURR_STAT(0);
926
927
/* methods := METHODS_OPERATION( operation, 6 ); */
928
t_2 = GF_METHODS__OPERATION;
929
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(6) );
930
CHECK_FUNC_RESULT( t_1 )
931
l_methods = t_1;
932
933
/* for i in [ 1, 11 .. LEN_LIST( methods ) - 9 ] do */
934
t_7 = GF_LEN__LIST;
935
t_6 = CALL_1ARGS( t_7, l_methods );
936
CHECK_FUNC_RESULT( t_6 )
937
C_DIFF_FIA( t_5, t_6, INTOBJ_INT(9) )
938
t_4 = Range3Check( INTOBJ_INT(1), INTOBJ_INT(11), t_5 );
939
if ( IS_SMALL_LIST(t_4) ) {
940
t_3 = (Obj)(UInt)1;
941
t_1 = INTOBJ_INT(1);
942
}
943
else {
944
t_3 = (Obj)(UInt)0;
945
t_1 = CALL_1ARGS( GF_ITERATOR, t_4 );
946
}
947
while ( 1 ) {
948
if ( t_3 ) {
949
if ( LEN_LIST(t_4) < INT_INTOBJ(t_1) ) break;
950
t_2 = ELMV0_LIST( t_4, INT_INTOBJ(t_1) );
951
t_1 = (Obj)(((UInt)t_1)+4);
952
if ( t_2 == 0 ) continue;
953
}
954
else {
955
if ( CALL_1ARGS( GF_IS_DONE_ITER, t_1 ) != False ) break;
956
t_2 = CALL_1ARGS( GF_NEXT_ITER, t_1 );
957
}
958
l_i = t_2;
959
960
/* if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] ) and IS_SUBSET_FLAGS( type5![2], methods[i + 5] )
961
and IS_SUBSET_FLAGS( type6![2], methods[i + 6] ) and methods[i]( type1![1], type2![1], type3![1], type4![1], type5![1], type6![1] ) then */
962
t_13 = GF_IS__SUBSET__FLAGS;
963
C_ELM_POSOBJ_NLE( t_14, a_type1, 2 );
964
C_SUM_FIA( t_16, l_i, INTOBJ_INT(1) )
965
CHECK_INT_POS( t_16 )
966
C_ELM_LIST_FPL( t_15, l_methods, t_16 )
967
t_12 = CALL_2ARGS( t_13, t_14, t_15 );
968
CHECK_FUNC_RESULT( t_12 )
969
CHECK_BOOL( t_12 )
970
t_11 = (Obj)(UInt)(t_12 != False);
971
t_10 = t_11;
972
if ( t_10 ) {
973
t_14 = GF_IS__SUBSET__FLAGS;
974
C_ELM_POSOBJ_NLE( t_15, a_type2, 2 );
975
C_SUM_FIA( t_17, l_i, INTOBJ_INT(2) )
976
CHECK_INT_POS( t_17 )
977
C_ELM_LIST_FPL( t_16, l_methods, t_17 )
978
t_13 = CALL_2ARGS( t_14, t_15, t_16 );
979
CHECK_FUNC_RESULT( t_13 )
980
CHECK_BOOL( t_13 )
981
t_12 = (Obj)(UInt)(t_13 != False);
982
t_10 = t_12;
983
}
984
t_9 = t_10;
985
if ( t_9 ) {
986
t_13 = GF_IS__SUBSET__FLAGS;
987
C_ELM_POSOBJ_NLE( t_14, a_type3, 2 );
988
C_SUM_FIA( t_16, l_i, INTOBJ_INT(3) )
989
CHECK_INT_POS( t_16 )
990
C_ELM_LIST_FPL( t_15, l_methods, t_16 )
991
t_12 = CALL_2ARGS( t_13, t_14, t_15 );
992
CHECK_FUNC_RESULT( t_12 )
993
CHECK_BOOL( t_12 )
994
t_11 = (Obj)(UInt)(t_12 != False);
995
t_9 = t_11;
996
}
997
t_8 = t_9;
998
if ( t_8 ) {
999
t_12 = GF_IS__SUBSET__FLAGS;
1000
C_ELM_POSOBJ_NLE( t_13, a_type4, 2 );
1001
C_SUM_FIA( t_15, l_i, INTOBJ_INT(4) )
1002
CHECK_INT_POS( t_15 )
1003
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
1004
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
1005
CHECK_FUNC_RESULT( t_11 )
1006
CHECK_BOOL( t_11 )
1007
t_10 = (Obj)(UInt)(t_11 != False);
1008
t_8 = t_10;
1009
}
1010
t_7 = t_8;
1011
if ( t_7 ) {
1012
t_11 = GF_IS__SUBSET__FLAGS;
1013
C_ELM_POSOBJ_NLE( t_12, a_type5, 2 );
1014
C_SUM_FIA( t_14, l_i, INTOBJ_INT(5) )
1015
CHECK_INT_POS( t_14 )
1016
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
1017
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
1018
CHECK_FUNC_RESULT( t_10 )
1019
CHECK_BOOL( t_10 )
1020
t_9 = (Obj)(UInt)(t_10 != False);
1021
t_7 = t_9;
1022
}
1023
t_6 = t_7;
1024
if ( t_6 ) {
1025
t_10 = GF_IS__SUBSET__FLAGS;
1026
C_ELM_POSOBJ_NLE( t_11, a_type6, 2 );
1027
C_SUM_FIA( t_13, l_i, INTOBJ_INT(6) )
1028
CHECK_INT_POS( t_13 )
1029
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
1030
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
1031
CHECK_FUNC_RESULT( t_9 )
1032
CHECK_BOOL( t_9 )
1033
t_8 = (Obj)(UInt)(t_9 != False);
1034
t_6 = t_8;
1035
}
1036
t_5 = t_6;
1037
if ( t_5 ) {
1038
CHECK_INT_POS( l_i )
1039
C_ELM_LIST_FPL( t_9, l_methods, l_i )
1040
CHECK_FUNC( t_9 )
1041
C_ELM_POSOBJ_NLE( t_10, a_type1, 1 );
1042
C_ELM_POSOBJ_NLE( t_11, a_type2, 1 );
1043
C_ELM_POSOBJ_NLE( t_12, a_type3, 1 );
1044
C_ELM_POSOBJ_NLE( t_13, a_type4, 1 );
1045
C_ELM_POSOBJ_NLE( t_14, a_type5, 1 );
1046
C_ELM_POSOBJ_NLE( t_15, a_type6, 1 );
1047
t_8 = CALL_6ARGS( t_9, t_10, t_11, t_12, t_13, t_14, t_15 );
1048
CHECK_FUNC_RESULT( t_8 )
1049
CHECK_BOOL( t_8 )
1050
t_7 = (Obj)(UInt)(t_8 != False);
1051
t_5 = t_7;
1052
}
1053
if ( t_5 ) {
1054
1055
/* return methods[i + 7]; */
1056
C_SUM_FIA( t_6, l_i, INTOBJ_INT(7) )
1057
CHECK_INT_POS( t_6 )
1058
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
1059
RES_BRK_CURR_STAT();
1060
SWITCH_TO_OLD_FRAME(oldFrame);
1061
return t_5;
1062
1063
}
1064
/* fi */
1065
1066
}
1067
/* od */
1068
1069
/* return fail; */
1070
t_1 = GC_fail;
1071
CHECK_BOUND( t_1, "fail" )
1072
RES_BRK_CURR_STAT();
1073
SWITCH_TO_OLD_FRAME(oldFrame);
1074
return t_1;
1075
1076
/* return; */
1077
RES_BRK_CURR_STAT();
1078
SWITCH_TO_OLD_FRAME(oldFrame);
1079
return 0;
1080
}
1081
1082
/* handler for function 9 */
1083
static Obj HdlrFunc9 (
1084
Obj self,
1085
Obj a_arg )
1086
{
1087
Obj t_1 = 0;
1088
Obj t_2 = 0;
1089
Bag oldFrame;
1090
OLD_BRK_CURR_STAT
1091
1092
/* allocate new stack frame */
1093
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1094
REM_BRK_CURR_STAT();
1095
SET_BRK_CURR_STAT(0);
1096
1097
/* Error( "not supported yet" ); */
1098
t_1 = GF_Error;
1099
C_NEW_STRING( t_2, 17, "not supported yet" );
1100
CALL_1ARGS( t_1, t_2 );
1101
1102
/* return; */
1103
RES_BRK_CURR_STAT();
1104
SWITCH_TO_OLD_FRAME(oldFrame);
1105
return 0;
1106
1107
/* return; */
1108
RES_BRK_CURR_STAT();
1109
SWITCH_TO_OLD_FRAME(oldFrame);
1110
return 0;
1111
}
1112
1113
/* handler for function 10 */
1114
static Obj HdlrFunc10 (
1115
Obj self,
1116
Obj a_operation,
1117
Obj a_k )
1118
{
1119
Obj l_methods = 0;
1120
Obj l_i = 0;
1121
Obj l_j = 0;
1122
Obj t_1 = 0;
1123
Obj t_2 = 0;
1124
Obj t_3 = 0;
1125
Obj t_4 = 0;
1126
Obj t_5 = 0;
1127
Obj t_6 = 0;
1128
Obj t_7 = 0;
1129
Obj t_8 = 0;
1130
Bag oldFrame;
1131
OLD_BRK_CURR_STAT
1132
1133
/* allocate new stack frame */
1134
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1135
REM_BRK_CURR_STAT();
1136
SET_BRK_CURR_STAT(0);
1137
1138
/* methods := METHODS_OPERATION( operation, 0 ); */
1139
t_2 = GF_METHODS__OPERATION;
1140
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(0) );
1141
CHECK_FUNC_RESULT( t_1 )
1142
l_methods = t_1;
1143
1144
/* j := 0; */
1145
l_j = INTOBJ_INT(0);
1146
1147
/* for i in [ 1 .. LEN_LIST( methods ) / 4 ] do */
1148
t_4 = GF_LEN__LIST;
1149
t_3 = CALL_1ARGS( t_4, l_methods );
1150
CHECK_FUNC_RESULT( t_3 )
1151
t_2 = QUO( t_3, INTOBJ_INT(4) );
1152
CHECK_INT_SMALL( t_2 )
1153
for ( t_1 = INTOBJ_INT(1);
1154
((Int)t_1) <= ((Int)t_2);
1155
t_1 = (Obj)(((UInt)t_1)+4) ) {
1156
l_i = t_1;
1157
1158
/* if methods[4 * (i - 1) + 1]( ) then */
1159
C_DIFF_INTOBJS( t_8, l_i, INTOBJ_INT(1) )
1160
C_PROD_FIA( t_7, INTOBJ_INT(4), t_8 )
1161
C_SUM_FIA( t_6, t_7, INTOBJ_INT(1) )
1162
CHECK_INT_POS( t_6 )
1163
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
1164
CHECK_FUNC( t_5 )
1165
t_4 = CALL_0ARGS( t_5 );
1166
CHECK_FUNC_RESULT( t_4 )
1167
CHECK_BOOL( t_4 )
1168
t_3 = (Obj)(UInt)(t_4 != False);
1169
if ( t_3 ) {
1170
1171
/* if k = j then */
1172
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1173
if ( t_3 ) {
1174
1175
/* return methods[4 * (i - 1) + 2]; */
1176
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1177
C_PROD_FIA( t_5, INTOBJ_INT(4), t_6 )
1178
C_SUM_FIA( t_4, t_5, INTOBJ_INT(2) )
1179
CHECK_INT_POS( t_4 )
1180
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1181
RES_BRK_CURR_STAT();
1182
SWITCH_TO_OLD_FRAME(oldFrame);
1183
return t_3;
1184
1185
}
1186
1187
/* else */
1188
else {
1189
1190
/* j := j + 1; */
1191
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
1192
l_j = t_3;
1193
1194
}
1195
/* fi */
1196
1197
}
1198
/* fi */
1199
1200
}
1201
/* od */
1202
1203
/* return fail; */
1204
t_1 = GC_fail;
1205
CHECK_BOUND( t_1, "fail" )
1206
RES_BRK_CURR_STAT();
1207
SWITCH_TO_OLD_FRAME(oldFrame);
1208
return t_1;
1209
1210
/* return; */
1211
RES_BRK_CURR_STAT();
1212
SWITCH_TO_OLD_FRAME(oldFrame);
1213
return 0;
1214
}
1215
1216
/* handler for function 11 */
1217
static Obj HdlrFunc11 (
1218
Obj self,
1219
Obj a_operation,
1220
Obj a_k,
1221
Obj a_type1 )
1222
{
1223
Obj l_methods = 0;
1224
Obj l_i = 0;
1225
Obj l_j = 0;
1226
Obj t_1 = 0;
1227
Obj t_2 = 0;
1228
Obj t_3 = 0;
1229
Obj t_4 = 0;
1230
Obj t_5 = 0;
1231
Obj t_6 = 0;
1232
Obj t_7 = 0;
1233
Obj t_8 = 0;
1234
Obj t_9 = 0;
1235
Obj t_10 = 0;
1236
Obj t_11 = 0;
1237
Bag oldFrame;
1238
OLD_BRK_CURR_STAT
1239
1240
/* allocate new stack frame */
1241
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1242
REM_BRK_CURR_STAT();
1243
SET_BRK_CURR_STAT(0);
1244
1245
/* methods := METHODS_OPERATION( operation, 1 ); */
1246
t_2 = GF_METHODS__OPERATION;
1247
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(1) );
1248
CHECK_FUNC_RESULT( t_1 )
1249
l_methods = t_1;
1250
1251
/* j := 0; */
1252
l_j = INTOBJ_INT(0);
1253
1254
/* for i in [ 1 .. LEN_LIST( methods ) / 5 ] do */
1255
t_4 = GF_LEN__LIST;
1256
t_3 = CALL_1ARGS( t_4, l_methods );
1257
CHECK_FUNC_RESULT( t_3 )
1258
t_2 = QUO( t_3, INTOBJ_INT(5) );
1259
CHECK_INT_SMALL( t_2 )
1260
for ( t_1 = INTOBJ_INT(1);
1261
((Int)t_1) <= ((Int)t_2);
1262
t_1 = (Obj)(((UInt)t_1)+4) ) {
1263
l_i = t_1;
1264
1265
/* if IS_SUBSET_FLAGS( type1![2], methods[5 * (i - 1) + 2] ) and methods[5 * (i - 1) + 1]( type1![1] ) then */
1266
t_6 = GF_IS__SUBSET__FLAGS;
1267
C_ELM_POSOBJ_NLE( t_7, a_type1, 2 );
1268
C_DIFF_INTOBJS( t_11, l_i, INTOBJ_INT(1) )
1269
C_PROD_FIA( t_10, INTOBJ_INT(5), t_11 )
1270
C_SUM_FIA( t_9, t_10, INTOBJ_INT(2) )
1271
CHECK_INT_POS( t_9 )
1272
C_ELM_LIST_FPL( t_8, l_methods, t_9 )
1273
t_5 = CALL_2ARGS( t_6, t_7, t_8 );
1274
CHECK_FUNC_RESULT( t_5 )
1275
CHECK_BOOL( t_5 )
1276
t_4 = (Obj)(UInt)(t_5 != False);
1277
t_3 = t_4;
1278
if ( t_3 ) {
1279
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
1280
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
1281
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
1282
CHECK_INT_POS( t_8 )
1283
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
1284
CHECK_FUNC( t_7 )
1285
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
1286
t_6 = CALL_1ARGS( t_7, t_8 );
1287
CHECK_FUNC_RESULT( t_6 )
1288
CHECK_BOOL( t_6 )
1289
t_5 = (Obj)(UInt)(t_6 != False);
1290
t_3 = t_5;
1291
}
1292
if ( t_3 ) {
1293
1294
/* if k = j then */
1295
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1296
if ( t_3 ) {
1297
1298
/* return methods[5 * (i - 1) + 3]; */
1299
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1300
C_PROD_FIA( t_5, INTOBJ_INT(5), t_6 )
1301
C_SUM_FIA( t_4, t_5, INTOBJ_INT(3) )
1302
CHECK_INT_POS( t_4 )
1303
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1304
RES_BRK_CURR_STAT();
1305
SWITCH_TO_OLD_FRAME(oldFrame);
1306
return t_3;
1307
1308
}
1309
1310
/* else */
1311
else {
1312
1313
/* j := j + 1; */
1314
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
1315
l_j = t_3;
1316
1317
}
1318
/* fi */
1319
1320
}
1321
/* fi */
1322
1323
}
1324
/* od */
1325
1326
/* return fail; */
1327
t_1 = GC_fail;
1328
CHECK_BOUND( t_1, "fail" )
1329
RES_BRK_CURR_STAT();
1330
SWITCH_TO_OLD_FRAME(oldFrame);
1331
return t_1;
1332
1333
/* return; */
1334
RES_BRK_CURR_STAT();
1335
SWITCH_TO_OLD_FRAME(oldFrame);
1336
return 0;
1337
}
1338
1339
/* handler for function 12 */
1340
static Obj HdlrFunc12 (
1341
Obj self,
1342
Obj a_operation,
1343
Obj a_k,
1344
Obj a_type1,
1345
Obj a_type2 )
1346
{
1347
Obj l_methods = 0;
1348
Obj l_i = 0;
1349
Obj l_j = 0;
1350
Obj t_1 = 0;
1351
Obj t_2 = 0;
1352
Obj t_3 = 0;
1353
Obj t_4 = 0;
1354
Obj t_5 = 0;
1355
Obj t_6 = 0;
1356
Obj t_7 = 0;
1357
Obj t_8 = 0;
1358
Obj t_9 = 0;
1359
Obj t_10 = 0;
1360
Obj t_11 = 0;
1361
Obj t_12 = 0;
1362
Obj t_13 = 0;
1363
Bag oldFrame;
1364
OLD_BRK_CURR_STAT
1365
1366
/* allocate new stack frame */
1367
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1368
REM_BRK_CURR_STAT();
1369
SET_BRK_CURR_STAT(0);
1370
1371
/* methods := METHODS_OPERATION( operation, 2 ); */
1372
t_2 = GF_METHODS__OPERATION;
1373
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(2) );
1374
CHECK_FUNC_RESULT( t_1 )
1375
l_methods = t_1;
1376
1377
/* j := 0; */
1378
l_j = INTOBJ_INT(0);
1379
1380
/* for i in [ 1 .. LEN_LIST( methods ) / 6 ] do */
1381
t_4 = GF_LEN__LIST;
1382
t_3 = CALL_1ARGS( t_4, l_methods );
1383
CHECK_FUNC_RESULT( t_3 )
1384
t_2 = QUO( t_3, INTOBJ_INT(6) );
1385
CHECK_INT_SMALL( t_2 )
1386
for ( t_1 = INTOBJ_INT(1);
1387
((Int)t_1) <= ((Int)t_2);
1388
t_1 = (Obj)(((UInt)t_1)+4) ) {
1389
l_i = t_1;
1390
1391
/* if IS_SUBSET_FLAGS( type1![2], methods[6 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( type1![1], type2![1] ) then */
1392
t_7 = GF_IS__SUBSET__FLAGS;
1393
C_ELM_POSOBJ_NLE( t_8, a_type1, 2 );
1394
C_DIFF_INTOBJS( t_12, l_i, INTOBJ_INT(1) )
1395
C_PROD_FIA( t_11, INTOBJ_INT(6), t_12 )
1396
C_SUM_FIA( t_10, t_11, INTOBJ_INT(2) )
1397
CHECK_INT_POS( t_10 )
1398
C_ELM_LIST_FPL( t_9, l_methods, t_10 )
1399
t_6 = CALL_2ARGS( t_7, t_8, t_9 );
1400
CHECK_FUNC_RESULT( t_6 )
1401
CHECK_BOOL( t_6 )
1402
t_5 = (Obj)(UInt)(t_6 != False);
1403
t_4 = t_5;
1404
if ( t_4 ) {
1405
t_8 = GF_IS__SUBSET__FLAGS;
1406
C_ELM_POSOBJ_NLE( t_9, a_type2, 2 );
1407
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
1408
C_PROD_FIA( t_12, INTOBJ_INT(6), t_13 )
1409
C_SUM_FIA( t_11, t_12, INTOBJ_INT(3) )
1410
CHECK_INT_POS( t_11 )
1411
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
1412
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
1413
CHECK_FUNC_RESULT( t_7 )
1414
CHECK_BOOL( t_7 )
1415
t_6 = (Obj)(UInt)(t_7 != False);
1416
t_4 = t_6;
1417
}
1418
t_3 = t_4;
1419
if ( t_3 ) {
1420
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
1421
C_PROD_FIA( t_9, INTOBJ_INT(6), t_10 )
1422
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
1423
CHECK_INT_POS( t_8 )
1424
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
1425
CHECK_FUNC( t_7 )
1426
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
1427
C_ELM_POSOBJ_NLE( t_9, a_type2, 1 );
1428
t_6 = CALL_2ARGS( t_7, t_8, t_9 );
1429
CHECK_FUNC_RESULT( t_6 )
1430
CHECK_BOOL( t_6 )
1431
t_5 = (Obj)(UInt)(t_6 != False);
1432
t_3 = t_5;
1433
}
1434
if ( t_3 ) {
1435
1436
/* if k = j then */
1437
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1438
if ( t_3 ) {
1439
1440
/* return methods[6 * (i - 1) + 4]; */
1441
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1442
C_PROD_FIA( t_5, INTOBJ_INT(6), t_6 )
1443
C_SUM_FIA( t_4, t_5, INTOBJ_INT(4) )
1444
CHECK_INT_POS( t_4 )
1445
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1446
RES_BRK_CURR_STAT();
1447
SWITCH_TO_OLD_FRAME(oldFrame);
1448
return t_3;
1449
1450
}
1451
1452
/* else */
1453
else {
1454
1455
/* j := j + 1; */
1456
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
1457
l_j = t_3;
1458
1459
}
1460
/* fi */
1461
1462
}
1463
/* fi */
1464
1465
}
1466
/* od */
1467
1468
/* return fail; */
1469
t_1 = GC_fail;
1470
CHECK_BOUND( t_1, "fail" )
1471
RES_BRK_CURR_STAT();
1472
SWITCH_TO_OLD_FRAME(oldFrame);
1473
return t_1;
1474
1475
/* return; */
1476
RES_BRK_CURR_STAT();
1477
SWITCH_TO_OLD_FRAME(oldFrame);
1478
return 0;
1479
}
1480
1481
/* handler for function 13 */
1482
static Obj HdlrFunc13 (
1483
Obj self,
1484
Obj a_operation,
1485
Obj a_k,
1486
Obj a_type1,
1487
Obj a_type2,
1488
Obj a_type3 )
1489
{
1490
Obj l_methods = 0;
1491
Obj l_i = 0;
1492
Obj l_j = 0;
1493
Obj t_1 = 0;
1494
Obj t_2 = 0;
1495
Obj t_3 = 0;
1496
Obj t_4 = 0;
1497
Obj t_5 = 0;
1498
Obj t_6 = 0;
1499
Obj t_7 = 0;
1500
Obj t_8 = 0;
1501
Obj t_9 = 0;
1502
Obj t_10 = 0;
1503
Obj t_11 = 0;
1504
Obj t_12 = 0;
1505
Obj t_13 = 0;
1506
Obj t_14 = 0;
1507
Bag oldFrame;
1508
OLD_BRK_CURR_STAT
1509
1510
/* allocate new stack frame */
1511
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1512
REM_BRK_CURR_STAT();
1513
SET_BRK_CURR_STAT(0);
1514
1515
/* methods := METHODS_OPERATION( operation, 3 ); */
1516
t_2 = GF_METHODS__OPERATION;
1517
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(3) );
1518
CHECK_FUNC_RESULT( t_1 )
1519
l_methods = t_1;
1520
1521
/* j := 0; */
1522
l_j = INTOBJ_INT(0);
1523
1524
/* for i in [ 1 .. LEN_LIST( methods ) / 7 ] do */
1525
t_4 = GF_LEN__LIST;
1526
t_3 = CALL_1ARGS( t_4, l_methods );
1527
CHECK_FUNC_RESULT( t_3 )
1528
t_2 = QUO( t_3, INTOBJ_INT(7) );
1529
CHECK_INT_SMALL( t_2 )
1530
for ( t_1 = INTOBJ_INT(1);
1531
((Int)t_1) <= ((Int)t_2);
1532
t_1 = (Obj)(((UInt)t_1)+4) ) {
1533
l_i = t_1;
1534
1535
/* if IS_SUBSET_FLAGS( type1![2], methods[7 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( type1![1], type2![1], type3![1] ) then */
1536
t_8 = GF_IS__SUBSET__FLAGS;
1537
C_ELM_POSOBJ_NLE( t_9, a_type1, 2 );
1538
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
1539
C_PROD_FIA( t_12, INTOBJ_INT(7), t_13 )
1540
C_SUM_FIA( t_11, t_12, INTOBJ_INT(2) )
1541
CHECK_INT_POS( t_11 )
1542
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
1543
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
1544
CHECK_FUNC_RESULT( t_7 )
1545
CHECK_BOOL( t_7 )
1546
t_6 = (Obj)(UInt)(t_7 != False);
1547
t_5 = t_6;
1548
if ( t_5 ) {
1549
t_9 = GF_IS__SUBSET__FLAGS;
1550
C_ELM_POSOBJ_NLE( t_10, a_type2, 2 );
1551
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
1552
C_PROD_FIA( t_13, INTOBJ_INT(7), t_14 )
1553
C_SUM_FIA( t_12, t_13, INTOBJ_INT(3) )
1554
CHECK_INT_POS( t_12 )
1555
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
1556
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
1557
CHECK_FUNC_RESULT( t_8 )
1558
CHECK_BOOL( t_8 )
1559
t_7 = (Obj)(UInt)(t_8 != False);
1560
t_5 = t_7;
1561
}
1562
t_4 = t_5;
1563
if ( t_4 ) {
1564
t_8 = GF_IS__SUBSET__FLAGS;
1565
C_ELM_POSOBJ_NLE( t_9, a_type3, 2 );
1566
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
1567
C_PROD_FIA( t_12, INTOBJ_INT(7), t_13 )
1568
C_SUM_FIA( t_11, t_12, INTOBJ_INT(4) )
1569
CHECK_INT_POS( t_11 )
1570
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
1571
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
1572
CHECK_FUNC_RESULT( t_7 )
1573
CHECK_BOOL( t_7 )
1574
t_6 = (Obj)(UInt)(t_7 != False);
1575
t_4 = t_6;
1576
}
1577
t_3 = t_4;
1578
if ( t_3 ) {
1579
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
1580
C_PROD_FIA( t_9, INTOBJ_INT(7), t_10 )
1581
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
1582
CHECK_INT_POS( t_8 )
1583
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
1584
CHECK_FUNC( t_7 )
1585
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
1586
C_ELM_POSOBJ_NLE( t_9, a_type2, 1 );
1587
C_ELM_POSOBJ_NLE( t_10, a_type3, 1 );
1588
t_6 = CALL_3ARGS( t_7, t_8, t_9, t_10 );
1589
CHECK_FUNC_RESULT( t_6 )
1590
CHECK_BOOL( t_6 )
1591
t_5 = (Obj)(UInt)(t_6 != False);
1592
t_3 = t_5;
1593
}
1594
if ( t_3 ) {
1595
1596
/* if k = j then */
1597
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1598
if ( t_3 ) {
1599
1600
/* return methods[7 * (i - 1) + 5]; */
1601
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1602
C_PROD_FIA( t_5, INTOBJ_INT(7), t_6 )
1603
C_SUM_FIA( t_4, t_5, INTOBJ_INT(5) )
1604
CHECK_INT_POS( t_4 )
1605
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1606
RES_BRK_CURR_STAT();
1607
SWITCH_TO_OLD_FRAME(oldFrame);
1608
return t_3;
1609
1610
}
1611
1612
/* else */
1613
else {
1614
1615
/* j := j + 1; */
1616
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
1617
l_j = t_3;
1618
1619
}
1620
/* fi */
1621
1622
}
1623
/* fi */
1624
1625
}
1626
/* od */
1627
1628
/* return fail; */
1629
t_1 = GC_fail;
1630
CHECK_BOUND( t_1, "fail" )
1631
RES_BRK_CURR_STAT();
1632
SWITCH_TO_OLD_FRAME(oldFrame);
1633
return t_1;
1634
1635
/* return; */
1636
RES_BRK_CURR_STAT();
1637
SWITCH_TO_OLD_FRAME(oldFrame);
1638
return 0;
1639
}
1640
1641
/* handler for function 14 */
1642
static Obj HdlrFunc14 (
1643
Obj self,
1644
Obj a_operation,
1645
Obj a_k,
1646
Obj a_type1,
1647
Obj a_type2,
1648
Obj a_type3,
1649
Obj a_type4 )
1650
{
1651
Obj l_methods = 0;
1652
Obj l_i = 0;
1653
Obj l_j = 0;
1654
Obj t_1 = 0;
1655
Obj t_2 = 0;
1656
Obj t_3 = 0;
1657
Obj t_4 = 0;
1658
Obj t_5 = 0;
1659
Obj t_6 = 0;
1660
Obj t_7 = 0;
1661
Obj t_8 = 0;
1662
Obj t_9 = 0;
1663
Obj t_10 = 0;
1664
Obj t_11 = 0;
1665
Obj t_12 = 0;
1666
Obj t_13 = 0;
1667
Obj t_14 = 0;
1668
Obj t_15 = 0;
1669
Bag oldFrame;
1670
OLD_BRK_CURR_STAT
1671
1672
/* allocate new stack frame */
1673
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1674
REM_BRK_CURR_STAT();
1675
SET_BRK_CURR_STAT(0);
1676
1677
/* methods := METHODS_OPERATION( operation, 4 ); */
1678
t_2 = GF_METHODS__OPERATION;
1679
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(4) );
1680
CHECK_FUNC_RESULT( t_1 )
1681
l_methods = t_1;
1682
1683
/* j := 0; */
1684
l_j = INTOBJ_INT(0);
1685
1686
/* for i in [ 1 .. LEN_LIST( methods ) / 8 ] do */
1687
t_4 = GF_LEN__LIST;
1688
t_3 = CALL_1ARGS( t_4, l_methods );
1689
CHECK_FUNC_RESULT( t_3 )
1690
t_2 = QUO( t_3, INTOBJ_INT(8) );
1691
CHECK_INT_SMALL( t_2 )
1692
for ( t_1 = INTOBJ_INT(1);
1693
((Int)t_1) <= ((Int)t_2);
1694
t_1 = (Obj)(((UInt)t_1)+4) ) {
1695
l_i = t_1;
1696
1697
/* if IS_SUBSET_FLAGS( type1![2], methods[8 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
1698
and methods[8 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1] ) then */
1699
t_9 = GF_IS__SUBSET__FLAGS;
1700
C_ELM_POSOBJ_NLE( t_10, a_type1, 2 );
1701
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
1702
C_PROD_FIA( t_13, INTOBJ_INT(8), t_14 )
1703
C_SUM_FIA( t_12, t_13, INTOBJ_INT(2) )
1704
CHECK_INT_POS( t_12 )
1705
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
1706
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
1707
CHECK_FUNC_RESULT( t_8 )
1708
CHECK_BOOL( t_8 )
1709
t_7 = (Obj)(UInt)(t_8 != False);
1710
t_6 = t_7;
1711
if ( t_6 ) {
1712
t_10 = GF_IS__SUBSET__FLAGS;
1713
C_ELM_POSOBJ_NLE( t_11, a_type2, 2 );
1714
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
1715
C_PROD_FIA( t_14, INTOBJ_INT(8), t_15 )
1716
C_SUM_FIA( t_13, t_14, INTOBJ_INT(3) )
1717
CHECK_INT_POS( t_13 )
1718
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
1719
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
1720
CHECK_FUNC_RESULT( t_9 )
1721
CHECK_BOOL( t_9 )
1722
t_8 = (Obj)(UInt)(t_9 != False);
1723
t_6 = t_8;
1724
}
1725
t_5 = t_6;
1726
if ( t_5 ) {
1727
t_9 = GF_IS__SUBSET__FLAGS;
1728
C_ELM_POSOBJ_NLE( t_10, a_type3, 2 );
1729
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
1730
C_PROD_FIA( t_13, INTOBJ_INT(8), t_14 )
1731
C_SUM_FIA( t_12, t_13, INTOBJ_INT(4) )
1732
CHECK_INT_POS( t_12 )
1733
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
1734
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
1735
CHECK_FUNC_RESULT( t_8 )
1736
CHECK_BOOL( t_8 )
1737
t_7 = (Obj)(UInt)(t_8 != False);
1738
t_5 = t_7;
1739
}
1740
t_4 = t_5;
1741
if ( t_4 ) {
1742
t_8 = GF_IS__SUBSET__FLAGS;
1743
C_ELM_POSOBJ_NLE( t_9, a_type4, 2 );
1744
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
1745
C_PROD_FIA( t_12, INTOBJ_INT(8), t_13 )
1746
C_SUM_FIA( t_11, t_12, INTOBJ_INT(5) )
1747
CHECK_INT_POS( t_11 )
1748
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
1749
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
1750
CHECK_FUNC_RESULT( t_7 )
1751
CHECK_BOOL( t_7 )
1752
t_6 = (Obj)(UInt)(t_7 != False);
1753
t_4 = t_6;
1754
}
1755
t_3 = t_4;
1756
if ( t_3 ) {
1757
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
1758
C_PROD_FIA( t_9, INTOBJ_INT(8), t_10 )
1759
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
1760
CHECK_INT_POS( t_8 )
1761
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
1762
CHECK_FUNC( t_7 )
1763
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
1764
C_ELM_POSOBJ_NLE( t_9, a_type2, 1 );
1765
C_ELM_POSOBJ_NLE( t_10, a_type3, 1 );
1766
C_ELM_POSOBJ_NLE( t_11, a_type4, 1 );
1767
t_6 = CALL_4ARGS( t_7, t_8, t_9, t_10, t_11 );
1768
CHECK_FUNC_RESULT( t_6 )
1769
CHECK_BOOL( t_6 )
1770
t_5 = (Obj)(UInt)(t_6 != False);
1771
t_3 = t_5;
1772
}
1773
if ( t_3 ) {
1774
1775
/* if k = j then */
1776
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1777
if ( t_3 ) {
1778
1779
/* return methods[8 * (i - 1) + 6]; */
1780
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1781
C_PROD_FIA( t_5, INTOBJ_INT(8), t_6 )
1782
C_SUM_FIA( t_4, t_5, INTOBJ_INT(6) )
1783
CHECK_INT_POS( t_4 )
1784
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1785
RES_BRK_CURR_STAT();
1786
SWITCH_TO_OLD_FRAME(oldFrame);
1787
return t_3;
1788
1789
}
1790
1791
/* else */
1792
else {
1793
1794
/* j := j + 1; */
1795
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
1796
l_j = t_3;
1797
1798
}
1799
/* fi */
1800
1801
}
1802
/* fi */
1803
1804
}
1805
/* od */
1806
1807
/* return fail; */
1808
t_1 = GC_fail;
1809
CHECK_BOUND( t_1, "fail" )
1810
RES_BRK_CURR_STAT();
1811
SWITCH_TO_OLD_FRAME(oldFrame);
1812
return t_1;
1813
1814
/* return; */
1815
RES_BRK_CURR_STAT();
1816
SWITCH_TO_OLD_FRAME(oldFrame);
1817
return 0;
1818
}
1819
1820
/* handler for function 15 */
1821
static Obj HdlrFunc15 (
1822
Obj self,
1823
Obj args )
1824
{
1825
Obj a_operation;
1826
Obj a_k;
1827
Obj a_type1;
1828
Obj a_type2;
1829
Obj a_type3;
1830
Obj a_type4;
1831
Obj a_type5;
1832
Obj l_methods = 0;
1833
Obj l_i = 0;
1834
Obj l_j = 0;
1835
Obj t_1 = 0;
1836
Obj t_2 = 0;
1837
Obj t_3 = 0;
1838
Obj t_4 = 0;
1839
Obj t_5 = 0;
1840
Obj t_6 = 0;
1841
Obj t_7 = 0;
1842
Obj t_8 = 0;
1843
Obj t_9 = 0;
1844
Obj t_10 = 0;
1845
Obj t_11 = 0;
1846
Obj t_12 = 0;
1847
Obj t_13 = 0;
1848
Obj t_14 = 0;
1849
Obj t_15 = 0;
1850
Obj t_16 = 0;
1851
Bag oldFrame;
1852
OLD_BRK_CURR_STAT
1853
CHECK_NR_ARGS( 7, args )
1854
a_operation = ELM_PLIST( args, 1 );
1855
a_k = ELM_PLIST( args, 2 );
1856
a_type1 = ELM_PLIST( args, 3 );
1857
a_type2 = ELM_PLIST( args, 4 );
1858
a_type3 = ELM_PLIST( args, 5 );
1859
a_type4 = ELM_PLIST( args, 6 );
1860
a_type5 = ELM_PLIST( args, 7 );
1861
1862
/* allocate new stack frame */
1863
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
1864
REM_BRK_CURR_STAT();
1865
SET_BRK_CURR_STAT(0);
1866
1867
/* methods := METHODS_OPERATION( operation, 5 ); */
1868
t_2 = GF_METHODS__OPERATION;
1869
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(5) );
1870
CHECK_FUNC_RESULT( t_1 )
1871
l_methods = t_1;
1872
1873
/* j := 0; */
1874
l_j = INTOBJ_INT(0);
1875
1876
/* for i in [ 1 .. LEN_LIST( methods ) / 9 ] do */
1877
t_4 = GF_LEN__LIST;
1878
t_3 = CALL_1ARGS( t_4, l_methods );
1879
CHECK_FUNC_RESULT( t_3 )
1880
t_2 = QUO( t_3, INTOBJ_INT(9) );
1881
CHECK_INT_SMALL( t_2 )
1882
for ( t_1 = INTOBJ_INT(1);
1883
((Int)t_1) <= ((Int)t_2);
1884
t_1 = (Obj)(((UInt)t_1)+4) ) {
1885
l_i = t_1;
1886
1887
/* if IS_SUBSET_FLAGS( type1![2], methods[9 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
1888
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1], type5![1] ) then */
1889
t_10 = GF_IS__SUBSET__FLAGS;
1890
C_ELM_POSOBJ_NLE( t_11, a_type1, 2 );
1891
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
1892
C_PROD_FIA( t_14, INTOBJ_INT(9), t_15 )
1893
C_SUM_FIA( t_13, t_14, INTOBJ_INT(2) )
1894
CHECK_INT_POS( t_13 )
1895
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
1896
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
1897
CHECK_FUNC_RESULT( t_9 )
1898
CHECK_BOOL( t_9 )
1899
t_8 = (Obj)(UInt)(t_9 != False);
1900
t_7 = t_8;
1901
if ( t_7 ) {
1902
t_11 = GF_IS__SUBSET__FLAGS;
1903
C_ELM_POSOBJ_NLE( t_12, a_type2, 2 );
1904
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
1905
C_PROD_FIA( t_15, INTOBJ_INT(9), t_16 )
1906
C_SUM_FIA( t_14, t_15, INTOBJ_INT(3) )
1907
CHECK_INT_POS( t_14 )
1908
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
1909
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
1910
CHECK_FUNC_RESULT( t_10 )
1911
CHECK_BOOL( t_10 )
1912
t_9 = (Obj)(UInt)(t_10 != False);
1913
t_7 = t_9;
1914
}
1915
t_6 = t_7;
1916
if ( t_6 ) {
1917
t_10 = GF_IS__SUBSET__FLAGS;
1918
C_ELM_POSOBJ_NLE( t_11, a_type3, 2 );
1919
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
1920
C_PROD_FIA( t_14, INTOBJ_INT(9), t_15 )
1921
C_SUM_FIA( t_13, t_14, INTOBJ_INT(4) )
1922
CHECK_INT_POS( t_13 )
1923
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
1924
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
1925
CHECK_FUNC_RESULT( t_9 )
1926
CHECK_BOOL( t_9 )
1927
t_8 = (Obj)(UInt)(t_9 != False);
1928
t_6 = t_8;
1929
}
1930
t_5 = t_6;
1931
if ( t_5 ) {
1932
t_9 = GF_IS__SUBSET__FLAGS;
1933
C_ELM_POSOBJ_NLE( t_10, a_type4, 2 );
1934
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
1935
C_PROD_FIA( t_13, INTOBJ_INT(9), t_14 )
1936
C_SUM_FIA( t_12, t_13, INTOBJ_INT(5) )
1937
CHECK_INT_POS( t_12 )
1938
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
1939
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
1940
CHECK_FUNC_RESULT( t_8 )
1941
CHECK_BOOL( t_8 )
1942
t_7 = (Obj)(UInt)(t_8 != False);
1943
t_5 = t_7;
1944
}
1945
t_4 = t_5;
1946
if ( t_4 ) {
1947
t_8 = GF_IS__SUBSET__FLAGS;
1948
C_ELM_POSOBJ_NLE( t_9, a_type5, 2 );
1949
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
1950
C_PROD_FIA( t_12, INTOBJ_INT(9), t_13 )
1951
C_SUM_FIA( t_11, t_12, INTOBJ_INT(6) )
1952
CHECK_INT_POS( t_11 )
1953
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
1954
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
1955
CHECK_FUNC_RESULT( t_7 )
1956
CHECK_BOOL( t_7 )
1957
t_6 = (Obj)(UInt)(t_7 != False);
1958
t_4 = t_6;
1959
}
1960
t_3 = t_4;
1961
if ( t_3 ) {
1962
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
1963
C_PROD_FIA( t_9, INTOBJ_INT(9), t_10 )
1964
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
1965
CHECK_INT_POS( t_8 )
1966
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
1967
CHECK_FUNC( t_7 )
1968
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
1969
C_ELM_POSOBJ_NLE( t_9, a_type2, 1 );
1970
C_ELM_POSOBJ_NLE( t_10, a_type3, 1 );
1971
C_ELM_POSOBJ_NLE( t_11, a_type4, 1 );
1972
C_ELM_POSOBJ_NLE( t_12, a_type5, 1 );
1973
t_6 = CALL_5ARGS( t_7, t_8, t_9, t_10, t_11, t_12 );
1974
CHECK_FUNC_RESULT( t_6 )
1975
CHECK_BOOL( t_6 )
1976
t_5 = (Obj)(UInt)(t_6 != False);
1977
t_3 = t_5;
1978
}
1979
if ( t_3 ) {
1980
1981
/* if k = j then */
1982
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
1983
if ( t_3 ) {
1984
1985
/* return methods[9 * (i - 1) + 7]; */
1986
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
1987
C_PROD_FIA( t_5, INTOBJ_INT(9), t_6 )
1988
C_SUM_FIA( t_4, t_5, INTOBJ_INT(7) )
1989
CHECK_INT_POS( t_4 )
1990
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
1991
RES_BRK_CURR_STAT();
1992
SWITCH_TO_OLD_FRAME(oldFrame);
1993
return t_3;
1994
1995
}
1996
1997
/* else */
1998
else {
1999
2000
/* j := j + 1; */
2001
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
2002
l_j = t_3;
2003
2004
}
2005
/* fi */
2006
2007
}
2008
/* fi */
2009
2010
}
2011
/* od */
2012
2013
/* return fail; */
2014
t_1 = GC_fail;
2015
CHECK_BOUND( t_1, "fail" )
2016
RES_BRK_CURR_STAT();
2017
SWITCH_TO_OLD_FRAME(oldFrame);
2018
return t_1;
2019
2020
/* return; */
2021
RES_BRK_CURR_STAT();
2022
SWITCH_TO_OLD_FRAME(oldFrame);
2023
return 0;
2024
}
2025
2026
/* handler for function 16 */
2027
static Obj HdlrFunc16 (
2028
Obj self,
2029
Obj args )
2030
{
2031
Obj a_operation;
2032
Obj a_k;
2033
Obj a_type1;
2034
Obj a_type2;
2035
Obj a_type3;
2036
Obj a_type4;
2037
Obj a_type5;
2038
Obj a_type6;
2039
Obj l_methods = 0;
2040
Obj l_i = 0;
2041
Obj l_j = 0;
2042
Obj t_1 = 0;
2043
Obj t_2 = 0;
2044
Obj t_3 = 0;
2045
Obj t_4 = 0;
2046
Obj t_5 = 0;
2047
Obj t_6 = 0;
2048
Obj t_7 = 0;
2049
Obj t_8 = 0;
2050
Obj t_9 = 0;
2051
Obj t_10 = 0;
2052
Obj t_11 = 0;
2053
Obj t_12 = 0;
2054
Obj t_13 = 0;
2055
Obj t_14 = 0;
2056
Obj t_15 = 0;
2057
Obj t_16 = 0;
2058
Obj t_17 = 0;
2059
Bag oldFrame;
2060
OLD_BRK_CURR_STAT
2061
CHECK_NR_ARGS( 8, args )
2062
a_operation = ELM_PLIST( args, 1 );
2063
a_k = ELM_PLIST( args, 2 );
2064
a_type1 = ELM_PLIST( args, 3 );
2065
a_type2 = ELM_PLIST( args, 4 );
2066
a_type3 = ELM_PLIST( args, 5 );
2067
a_type4 = ELM_PLIST( args, 6 );
2068
a_type5 = ELM_PLIST( args, 7 );
2069
a_type6 = ELM_PLIST( args, 8 );
2070
2071
/* allocate new stack frame */
2072
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2073
REM_BRK_CURR_STAT();
2074
SET_BRK_CURR_STAT(0);
2075
2076
/* methods := METHODS_OPERATION( operation, 6 ); */
2077
t_2 = GF_METHODS__OPERATION;
2078
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(6) );
2079
CHECK_FUNC_RESULT( t_1 )
2080
l_methods = t_1;
2081
2082
/* j := 0; */
2083
l_j = INTOBJ_INT(0);
2084
2085
/* for i in [ 1 .. LEN_LIST( methods ) / 10 ] do */
2086
t_4 = GF_LEN__LIST;
2087
t_3 = CALL_1ARGS( t_4, l_methods );
2088
CHECK_FUNC_RESULT( t_3 )
2089
t_2 = QUO( t_3, INTOBJ_INT(10) );
2090
CHECK_INT_SMALL( t_2 )
2091
for ( t_1 = INTOBJ_INT(1);
2092
((Int)t_1) <= ((Int)t_2);
2093
t_1 = (Obj)(((UInt)t_1)+4) ) {
2094
l_i = t_1;
2095
2096
/* if IS_SUBSET_FLAGS( type1![2], methods[10 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
2097
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1], type5![1], type6![1] ) then */
2098
t_11 = GF_IS__SUBSET__FLAGS;
2099
C_ELM_POSOBJ_NLE( t_12, a_type1, 2 );
2100
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
2101
C_PROD_FIA( t_15, INTOBJ_INT(10), t_16 )
2102
C_SUM_FIA( t_14, t_15, INTOBJ_INT(2) )
2103
CHECK_INT_POS( t_14 )
2104
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
2105
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
2106
CHECK_FUNC_RESULT( t_10 )
2107
CHECK_BOOL( t_10 )
2108
t_9 = (Obj)(UInt)(t_10 != False);
2109
t_8 = t_9;
2110
if ( t_8 ) {
2111
t_12 = GF_IS__SUBSET__FLAGS;
2112
C_ELM_POSOBJ_NLE( t_13, a_type2, 2 );
2113
C_DIFF_INTOBJS( t_17, l_i, INTOBJ_INT(1) )
2114
C_PROD_FIA( t_16, INTOBJ_INT(10), t_17 )
2115
C_SUM_FIA( t_15, t_16, INTOBJ_INT(3) )
2116
CHECK_INT_POS( t_15 )
2117
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
2118
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
2119
CHECK_FUNC_RESULT( t_11 )
2120
CHECK_BOOL( t_11 )
2121
t_10 = (Obj)(UInt)(t_11 != False);
2122
t_8 = t_10;
2123
}
2124
t_7 = t_8;
2125
if ( t_7 ) {
2126
t_11 = GF_IS__SUBSET__FLAGS;
2127
C_ELM_POSOBJ_NLE( t_12, a_type3, 2 );
2128
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
2129
C_PROD_FIA( t_15, INTOBJ_INT(10), t_16 )
2130
C_SUM_FIA( t_14, t_15, INTOBJ_INT(4) )
2131
CHECK_INT_POS( t_14 )
2132
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
2133
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
2134
CHECK_FUNC_RESULT( t_10 )
2135
CHECK_BOOL( t_10 )
2136
t_9 = (Obj)(UInt)(t_10 != False);
2137
t_7 = t_9;
2138
}
2139
t_6 = t_7;
2140
if ( t_6 ) {
2141
t_10 = GF_IS__SUBSET__FLAGS;
2142
C_ELM_POSOBJ_NLE( t_11, a_type4, 2 );
2143
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
2144
C_PROD_FIA( t_14, INTOBJ_INT(10), t_15 )
2145
C_SUM_FIA( t_13, t_14, INTOBJ_INT(5) )
2146
CHECK_INT_POS( t_13 )
2147
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
2148
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
2149
CHECK_FUNC_RESULT( t_9 )
2150
CHECK_BOOL( t_9 )
2151
t_8 = (Obj)(UInt)(t_9 != False);
2152
t_6 = t_8;
2153
}
2154
t_5 = t_6;
2155
if ( t_5 ) {
2156
t_9 = GF_IS__SUBSET__FLAGS;
2157
C_ELM_POSOBJ_NLE( t_10, a_type5, 2 );
2158
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
2159
C_PROD_FIA( t_13, INTOBJ_INT(10), t_14 )
2160
C_SUM_FIA( t_12, t_13, INTOBJ_INT(6) )
2161
CHECK_INT_POS( t_12 )
2162
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
2163
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
2164
CHECK_FUNC_RESULT( t_8 )
2165
CHECK_BOOL( t_8 )
2166
t_7 = (Obj)(UInt)(t_8 != False);
2167
t_5 = t_7;
2168
}
2169
t_4 = t_5;
2170
if ( t_4 ) {
2171
t_8 = GF_IS__SUBSET__FLAGS;
2172
C_ELM_POSOBJ_NLE( t_9, a_type6, 2 );
2173
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
2174
C_PROD_FIA( t_12, INTOBJ_INT(10), t_13 )
2175
C_SUM_FIA( t_11, t_12, INTOBJ_INT(7) )
2176
CHECK_INT_POS( t_11 )
2177
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
2178
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
2179
CHECK_FUNC_RESULT( t_7 )
2180
CHECK_BOOL( t_7 )
2181
t_6 = (Obj)(UInt)(t_7 != False);
2182
t_4 = t_6;
2183
}
2184
t_3 = t_4;
2185
if ( t_3 ) {
2186
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2187
C_PROD_FIA( t_9, INTOBJ_INT(10), t_10 )
2188
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
2189
CHECK_INT_POS( t_8 )
2190
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2191
CHECK_FUNC( t_7 )
2192
C_ELM_POSOBJ_NLE( t_8, a_type1, 1 );
2193
C_ELM_POSOBJ_NLE( t_9, a_type2, 1 );
2194
C_ELM_POSOBJ_NLE( t_10, a_type3, 1 );
2195
C_ELM_POSOBJ_NLE( t_11, a_type4, 1 );
2196
C_ELM_POSOBJ_NLE( t_12, a_type5, 1 );
2197
C_ELM_POSOBJ_NLE( t_13, a_type6, 1 );
2198
t_6 = CALL_6ARGS( t_7, t_8, t_9, t_10, t_11, t_12, t_13 );
2199
CHECK_FUNC_RESULT( t_6 )
2200
CHECK_BOOL( t_6 )
2201
t_5 = (Obj)(UInt)(t_6 != False);
2202
t_3 = t_5;
2203
}
2204
if ( t_3 ) {
2205
2206
/* if k = j then */
2207
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
2208
if ( t_3 ) {
2209
2210
/* return methods[10 * (i - 1) + 8]; */
2211
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2212
C_PROD_FIA( t_5, INTOBJ_INT(10), t_6 )
2213
C_SUM_FIA( t_4, t_5, INTOBJ_INT(8) )
2214
CHECK_INT_POS( t_4 )
2215
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2216
RES_BRK_CURR_STAT();
2217
SWITCH_TO_OLD_FRAME(oldFrame);
2218
return t_3;
2219
2220
}
2221
2222
/* else */
2223
else {
2224
2225
/* j := j + 1; */
2226
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
2227
l_j = t_3;
2228
2229
}
2230
/* fi */
2231
2232
}
2233
/* fi */
2234
2235
}
2236
/* od */
2237
2238
/* return fail; */
2239
t_1 = GC_fail;
2240
CHECK_BOUND( t_1, "fail" )
2241
RES_BRK_CURR_STAT();
2242
SWITCH_TO_OLD_FRAME(oldFrame);
2243
return t_1;
2244
2245
/* return; */
2246
RES_BRK_CURR_STAT();
2247
SWITCH_TO_OLD_FRAME(oldFrame);
2248
return 0;
2249
}
2250
2251
/* handler for function 17 */
2252
static Obj HdlrFunc17 (
2253
Obj self,
2254
Obj a_arg )
2255
{
2256
Obj t_1 = 0;
2257
Obj t_2 = 0;
2258
Bag oldFrame;
2259
OLD_BRK_CURR_STAT
2260
2261
/* allocate new stack frame */
2262
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2263
REM_BRK_CURR_STAT();
2264
SET_BRK_CURR_STAT(0);
2265
2266
/* Error( "not supported yet" ); */
2267
t_1 = GF_Error;
2268
C_NEW_STRING( t_2, 17, "not supported yet" );
2269
CALL_1ARGS( t_1, t_2 );
2270
2271
/* return; */
2272
RES_BRK_CURR_STAT();
2273
SWITCH_TO_OLD_FRAME(oldFrame);
2274
return 0;
2275
2276
/* return; */
2277
RES_BRK_CURR_STAT();
2278
SWITCH_TO_OLD_FRAME(oldFrame);
2279
return 0;
2280
}
2281
2282
/* handler for function 18 */
2283
static Obj HdlrFunc18 (
2284
Obj self,
2285
Obj a_attr,
2286
Obj a_obj )
2287
{
2288
Obj l_type = 0;
2289
Obj l_fam = 0;
2290
Obj l_methods = 0;
2291
Obj l_i = 0;
2292
Obj l_flag = 0;
2293
Obj l_erg = 0;
2294
Obj t_1 = 0;
2295
Obj t_2 = 0;
2296
Obj t_3 = 0;
2297
Obj t_4 = 0;
2298
Obj t_5 = 0;
2299
Obj t_6 = 0;
2300
Obj t_7 = 0;
2301
Obj t_8 = 0;
2302
Obj t_9 = 0;
2303
Obj t_10 = 0;
2304
Obj t_11 = 0;
2305
Bag oldFrame;
2306
OLD_BRK_CURR_STAT
2307
2308
/* allocate new stack frame */
2309
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2310
REM_BRK_CURR_STAT();
2311
SET_BRK_CURR_STAT(0);
2312
2313
/* type := TypeObj( obj ); */
2314
t_2 = GF_TypeObj;
2315
t_1 = CALL_1ARGS( t_2, a_obj );
2316
CHECK_FUNC_RESULT( t_1 )
2317
l_type = t_1;
2318
2319
/* fam := FamilyObj( obj ); */
2320
t_2 = GF_FamilyObj;
2321
t_1 = CALL_1ARGS( t_2, a_obj );
2322
CHECK_FUNC_RESULT( t_1 )
2323
l_fam = t_1;
2324
2325
/* methods := METHODS_OPERATION( attr, 1 ); */
2326
t_2 = GF_METHODS__OPERATION;
2327
t_1 = CALL_2ARGS( t_2, a_attr, INTOBJ_INT(1) );
2328
CHECK_FUNC_RESULT( t_1 )
2329
l_methods = t_1;
2330
2331
/* for i in [ 1 .. LEN_LIST( methods ) / 5 ] do */
2332
t_4 = GF_LEN__LIST;
2333
t_3 = CALL_1ARGS( t_4, l_methods );
2334
CHECK_FUNC_RESULT( t_3 )
2335
t_2 = QUO( t_3, INTOBJ_INT(5) );
2336
CHECK_INT_SMALL( t_2 )
2337
for ( t_1 = INTOBJ_INT(1);
2338
((Int)t_1) <= ((Int)t_2);
2339
t_1 = (Obj)(((UInt)t_1)+4) ) {
2340
l_i = t_1;
2341
2342
/* flag := true; */
2343
t_3 = True;
2344
l_flag = t_3;
2345
2346
/* flag := flag and IS_SUBSET_FLAGS( type![2], methods[5 * (i - 1) + 2] ); */
2347
if ( l_flag == False ) {
2348
t_3 = l_flag;
2349
}
2350
else if ( l_flag == True ) {
2351
t_5 = GF_IS__SUBSET__FLAGS;
2352
C_ELM_POSOBJ_NLE( t_6, l_type, 2 );
2353
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2354
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
2355
C_SUM_FIA( t_8, t_9, INTOBJ_INT(2) )
2356
CHECK_INT_POS( t_8 )
2357
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2358
t_4 = CALL_2ARGS( t_5, t_6, t_7 );
2359
CHECK_FUNC_RESULT( t_4 )
2360
CHECK_BOOL( t_4 )
2361
t_3 = t_4;
2362
}
2363
else {
2364
CHECK_FUNC( l_flag )
2365
t_6 = GF_IS__SUBSET__FLAGS;
2366
C_ELM_POSOBJ_NLE( t_7, l_type, 2 );
2367
C_DIFF_INTOBJS( t_11, l_i, INTOBJ_INT(1) )
2368
C_PROD_FIA( t_10, INTOBJ_INT(5), t_11 )
2369
C_SUM_FIA( t_9, t_10, INTOBJ_INT(2) )
2370
CHECK_INT_POS( t_9 )
2371
C_ELM_LIST_FPL( t_8, l_methods, t_9 )
2372
t_5 = CALL_2ARGS( t_6, t_7, t_8 );
2373
CHECK_FUNC_RESULT( t_5 )
2374
CHECK_FUNC( t_5 )
2375
t_3 = NewAndFilter( l_flag, t_5 );
2376
}
2377
l_flag = t_3;
2378
2379
/* if flag then */
2380
CHECK_BOOL( l_flag )
2381
t_3 = (Obj)(UInt)(l_flag != False);
2382
if ( t_3 ) {
2383
2384
/* flag := flag and methods[5 * (i - 1) + 1]( fam ); */
2385
if ( l_flag == False ) {
2386
t_3 = l_flag;
2387
}
2388
else if ( l_flag == True ) {
2389
C_DIFF_INTOBJS( t_8, l_i, INTOBJ_INT(1) )
2390
C_PROD_FIA( t_7, INTOBJ_INT(5), t_8 )
2391
C_SUM_FIA( t_6, t_7, INTOBJ_INT(1) )
2392
CHECK_INT_POS( t_6 )
2393
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
2394
CHECK_FUNC( t_5 )
2395
t_4 = CALL_1ARGS( t_5, l_fam );
2396
CHECK_FUNC_RESULT( t_4 )
2397
CHECK_BOOL( t_4 )
2398
t_3 = t_4;
2399
}
2400
else {
2401
CHECK_FUNC( l_flag )
2402
C_DIFF_INTOBJS( t_9, l_i, INTOBJ_INT(1) )
2403
C_PROD_FIA( t_8, INTOBJ_INT(5), t_9 )
2404
C_SUM_FIA( t_7, t_8, INTOBJ_INT(1) )
2405
CHECK_INT_POS( t_7 )
2406
C_ELM_LIST_FPL( t_6, l_methods, t_7 )
2407
CHECK_FUNC( t_6 )
2408
t_5 = CALL_1ARGS( t_6, l_fam );
2409
CHECK_FUNC_RESULT( t_5 )
2410
CHECK_FUNC( t_5 )
2411
t_3 = NewAndFilter( l_flag, t_5 );
2412
}
2413
l_flag = t_3;
2414
2415
}
2416
/* fi */
2417
2418
/* if flag then */
2419
CHECK_BOOL( l_flag )
2420
t_3 = (Obj)(UInt)(l_flag != False);
2421
if ( t_3 ) {
2422
2423
/* attr := methods[5 * (i - 1) + 3]; */
2424
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2425
C_PROD_FIA( t_5, INTOBJ_INT(5), t_6 )
2426
C_SUM_FIA( t_4, t_5, INTOBJ_INT(3) )
2427
CHECK_INT_POS( t_4 )
2428
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2429
a_attr = t_3;
2430
2431
/* erg := attr( obj ); */
2432
CHECK_FUNC( a_attr )
2433
t_3 = CALL_1ARGS( a_attr, a_obj );
2434
CHECK_FUNC_RESULT( t_3 )
2435
l_erg = t_3;
2436
2437
/* if not IS_IDENTICAL_OBJ( erg, TRY_NEXT_METHOD ) then */
2438
t_6 = GF_IS__IDENTICAL__OBJ;
2439
t_7 = GC_TRY__NEXT__METHOD;
2440
CHECK_BOUND( t_7, "TRY_NEXT_METHOD" )
2441
t_5 = CALL_2ARGS( t_6, l_erg, t_7 );
2442
CHECK_FUNC_RESULT( t_5 )
2443
CHECK_BOOL( t_5 )
2444
t_4 = (Obj)(UInt)(t_5 != False);
2445
t_3 = (Obj)(UInt)( ! ((Int)t_4) );
2446
if ( t_3 ) {
2447
2448
/* return erg; */
2449
RES_BRK_CURR_STAT();
2450
SWITCH_TO_OLD_FRAME(oldFrame);
2451
return l_erg;
2452
2453
}
2454
/* fi */
2455
2456
}
2457
/* fi */
2458
2459
}
2460
/* od */
2461
2462
/* Error( "No applicable method found for attribute" ); */
2463
t_1 = GF_Error;
2464
C_NEW_STRING( t_2, 40, "No applicable method found for attribute" );
2465
CALL_1ARGS( t_1, t_2 );
2466
2467
/* return; */
2468
RES_BRK_CURR_STAT();
2469
SWITCH_TO_OLD_FRAME(oldFrame);
2470
return 0;
2471
2472
/* return; */
2473
RES_BRK_CURR_STAT();
2474
SWITCH_TO_OLD_FRAME(oldFrame);
2475
return 0;
2476
}
2477
2478
/* handler for function 19 */
2479
static Obj HdlrFunc19 (
2480
Obj self,
2481
Obj a_operation )
2482
{
2483
Obj l_methods = 0;
2484
Obj l_i = 0;
2485
Obj t_1 = 0;
2486
Obj t_2 = 0;
2487
Obj t_3 = 0;
2488
Obj t_4 = 0;
2489
Obj t_5 = 0;
2490
Obj t_6 = 0;
2491
Obj t_7 = 0;
2492
Obj t_8 = 0;
2493
Bag oldFrame;
2494
OLD_BRK_CURR_STAT
2495
2496
/* allocate new stack frame */
2497
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2498
REM_BRK_CURR_STAT();
2499
SET_BRK_CURR_STAT(0);
2500
2501
/* methods := METHODS_OPERATION( operation, 0 ); */
2502
t_2 = GF_METHODS__OPERATION;
2503
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(0) );
2504
CHECK_FUNC_RESULT( t_1 )
2505
l_methods = t_1;
2506
2507
/* for i in [ 1 .. LEN_LIST( methods ) / 4 ] do */
2508
t_4 = GF_LEN__LIST;
2509
t_3 = CALL_1ARGS( t_4, l_methods );
2510
CHECK_FUNC_RESULT( t_3 )
2511
t_2 = QUO( t_3, INTOBJ_INT(4) );
2512
CHECK_INT_SMALL( t_2 )
2513
for ( t_1 = INTOBJ_INT(1);
2514
((Int)t_1) <= ((Int)t_2);
2515
t_1 = (Obj)(((UInt)t_1)+4) ) {
2516
l_i = t_1;
2517
2518
/* if methods[4 * (i - 1) + 1]( ) then */
2519
C_DIFF_INTOBJS( t_8, l_i, INTOBJ_INT(1) )
2520
C_PROD_FIA( t_7, INTOBJ_INT(4), t_8 )
2521
C_SUM_FIA( t_6, t_7, INTOBJ_INT(1) )
2522
CHECK_INT_POS( t_6 )
2523
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
2524
CHECK_FUNC( t_5 )
2525
t_4 = CALL_0ARGS( t_5 );
2526
CHECK_FUNC_RESULT( t_4 )
2527
CHECK_BOOL( t_4 )
2528
t_3 = (Obj)(UInt)(t_4 != False);
2529
if ( t_3 ) {
2530
2531
/* return methods[4 * (i - 1) + 2]; */
2532
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2533
C_PROD_FIA( t_5, INTOBJ_INT(4), t_6 )
2534
C_SUM_FIA( t_4, t_5, INTOBJ_INT(2) )
2535
CHECK_INT_POS( t_4 )
2536
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2537
RES_BRK_CURR_STAT();
2538
SWITCH_TO_OLD_FRAME(oldFrame);
2539
return t_3;
2540
2541
}
2542
/* fi */
2543
2544
}
2545
/* od */
2546
2547
/* return fail; */
2548
t_1 = GC_fail;
2549
CHECK_BOUND( t_1, "fail" )
2550
RES_BRK_CURR_STAT();
2551
SWITCH_TO_OLD_FRAME(oldFrame);
2552
return t_1;
2553
2554
/* return; */
2555
RES_BRK_CURR_STAT();
2556
SWITCH_TO_OLD_FRAME(oldFrame);
2557
return 0;
2558
}
2559
2560
/* handler for function 20 */
2561
static Obj HdlrFunc20 (
2562
Obj self,
2563
Obj a_operation,
2564
Obj a_flags1 )
2565
{
2566
Obj l_methods = 0;
2567
Obj l_i = 0;
2568
Obj t_1 = 0;
2569
Obj t_2 = 0;
2570
Obj t_3 = 0;
2571
Obj t_4 = 0;
2572
Obj t_5 = 0;
2573
Obj t_6 = 0;
2574
Obj t_7 = 0;
2575
Obj t_8 = 0;
2576
Obj t_9 = 0;
2577
Obj t_10 = 0;
2578
Bag oldFrame;
2579
OLD_BRK_CURR_STAT
2580
2581
/* allocate new stack frame */
2582
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2583
REM_BRK_CURR_STAT();
2584
SET_BRK_CURR_STAT(0);
2585
2586
/* methods := METHODS_OPERATION( operation, 1 ); */
2587
t_2 = GF_METHODS__OPERATION;
2588
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(1) );
2589
CHECK_FUNC_RESULT( t_1 )
2590
l_methods = t_1;
2591
2592
/* for i in [ 1 .. LEN_LIST( methods ) / 5 ] do */
2593
t_4 = GF_LEN__LIST;
2594
t_3 = CALL_1ARGS( t_4, l_methods );
2595
CHECK_FUNC_RESULT( t_3 )
2596
t_2 = QUO( t_3, INTOBJ_INT(5) );
2597
CHECK_INT_SMALL( t_2 )
2598
for ( t_1 = INTOBJ_INT(1);
2599
((Int)t_1) <= ((Int)t_2);
2600
t_1 = (Obj)(((UInt)t_1)+4) ) {
2601
l_i = t_1;
2602
2603
/* if IS_SUBSET_FLAGS( methods[5 * (i - 1) + 2], flags1 ) and methods[5 * (i - 1) + 1]( flags1 ) then */
2604
t_6 = GF_IS__SUBSET__FLAGS;
2605
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2606
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
2607
C_SUM_FIA( t_8, t_9, INTOBJ_INT(2) )
2608
CHECK_INT_POS( t_8 )
2609
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2610
t_5 = CALL_2ARGS( t_6, t_7, a_flags1 );
2611
CHECK_FUNC_RESULT( t_5 )
2612
CHECK_BOOL( t_5 )
2613
t_4 = (Obj)(UInt)(t_5 != False);
2614
t_3 = t_4;
2615
if ( t_3 ) {
2616
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2617
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
2618
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
2619
CHECK_INT_POS( t_8 )
2620
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2621
CHECK_FUNC( t_7 )
2622
t_6 = CALL_1ARGS( t_7, a_flags1 );
2623
CHECK_FUNC_RESULT( t_6 )
2624
CHECK_BOOL( t_6 )
2625
t_5 = (Obj)(UInt)(t_6 != False);
2626
t_3 = t_5;
2627
}
2628
if ( t_3 ) {
2629
2630
/* return methods[5 * (i - 1) + 3]; */
2631
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2632
C_PROD_FIA( t_5, INTOBJ_INT(5), t_6 )
2633
C_SUM_FIA( t_4, t_5, INTOBJ_INT(3) )
2634
CHECK_INT_POS( t_4 )
2635
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2636
RES_BRK_CURR_STAT();
2637
SWITCH_TO_OLD_FRAME(oldFrame);
2638
return t_3;
2639
2640
}
2641
/* fi */
2642
2643
}
2644
/* od */
2645
2646
/* return fail; */
2647
t_1 = GC_fail;
2648
CHECK_BOUND( t_1, "fail" )
2649
RES_BRK_CURR_STAT();
2650
SWITCH_TO_OLD_FRAME(oldFrame);
2651
return t_1;
2652
2653
/* return; */
2654
RES_BRK_CURR_STAT();
2655
SWITCH_TO_OLD_FRAME(oldFrame);
2656
return 0;
2657
}
2658
2659
/* handler for function 21 */
2660
static Obj HdlrFunc21 (
2661
Obj self,
2662
Obj a_operation,
2663
Obj a_flags1,
2664
Obj a_type2 )
2665
{
2666
Obj l_methods = 0;
2667
Obj l_i = 0;
2668
Obj t_1 = 0;
2669
Obj t_2 = 0;
2670
Obj t_3 = 0;
2671
Obj t_4 = 0;
2672
Obj t_5 = 0;
2673
Obj t_6 = 0;
2674
Obj t_7 = 0;
2675
Obj t_8 = 0;
2676
Obj t_9 = 0;
2677
Obj t_10 = 0;
2678
Obj t_11 = 0;
2679
Obj t_12 = 0;
2680
Obj t_13 = 0;
2681
Bag oldFrame;
2682
OLD_BRK_CURR_STAT
2683
2684
/* allocate new stack frame */
2685
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2686
REM_BRK_CURR_STAT();
2687
SET_BRK_CURR_STAT(0);
2688
2689
/* methods := METHODS_OPERATION( operation, 2 ); */
2690
t_2 = GF_METHODS__OPERATION;
2691
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(2) );
2692
CHECK_FUNC_RESULT( t_1 )
2693
l_methods = t_1;
2694
2695
/* for i in [ 1 .. LEN_LIST( methods ) / 6 ] do */
2696
t_4 = GF_LEN__LIST;
2697
t_3 = CALL_1ARGS( t_4, l_methods );
2698
CHECK_FUNC_RESULT( t_3 )
2699
t_2 = QUO( t_3, INTOBJ_INT(6) );
2700
CHECK_INT_SMALL( t_2 )
2701
for ( t_1 = INTOBJ_INT(1);
2702
((Int)t_1) <= ((Int)t_2);
2703
t_1 = (Obj)(((UInt)t_1)+4) ) {
2704
l_i = t_1;
2705
2706
/* if IS_SUBSET_FLAGS( methods[6 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( flags1, type2![1] ) then */
2707
t_7 = GF_IS__SUBSET__FLAGS;
2708
C_DIFF_INTOBJS( t_11, l_i, INTOBJ_INT(1) )
2709
C_PROD_FIA( t_10, INTOBJ_INT(6), t_11 )
2710
C_SUM_FIA( t_9, t_10, INTOBJ_INT(2) )
2711
CHECK_INT_POS( t_9 )
2712
C_ELM_LIST_FPL( t_8, l_methods, t_9 )
2713
t_6 = CALL_2ARGS( t_7, t_8, a_flags1 );
2714
CHECK_FUNC_RESULT( t_6 )
2715
CHECK_BOOL( t_6 )
2716
t_5 = (Obj)(UInt)(t_6 != False);
2717
t_4 = t_5;
2718
if ( t_4 ) {
2719
t_8 = GF_IS__SUBSET__FLAGS;
2720
C_ELM_POSOBJ_NLE( t_9, a_type2, 2 );
2721
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
2722
C_PROD_FIA( t_12, INTOBJ_INT(6), t_13 )
2723
C_SUM_FIA( t_11, t_12, INTOBJ_INT(3) )
2724
CHECK_INT_POS( t_11 )
2725
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
2726
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
2727
CHECK_FUNC_RESULT( t_7 )
2728
CHECK_BOOL( t_7 )
2729
t_6 = (Obj)(UInt)(t_7 != False);
2730
t_4 = t_6;
2731
}
2732
t_3 = t_4;
2733
if ( t_3 ) {
2734
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2735
C_PROD_FIA( t_9, INTOBJ_INT(6), t_10 )
2736
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
2737
CHECK_INT_POS( t_8 )
2738
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2739
CHECK_FUNC( t_7 )
2740
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
2741
t_6 = CALL_2ARGS( t_7, a_flags1, t_8 );
2742
CHECK_FUNC_RESULT( t_6 )
2743
CHECK_BOOL( t_6 )
2744
t_5 = (Obj)(UInt)(t_6 != False);
2745
t_3 = t_5;
2746
}
2747
if ( t_3 ) {
2748
2749
/* return methods[6 * (i - 1) + 4]; */
2750
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2751
C_PROD_FIA( t_5, INTOBJ_INT(6), t_6 )
2752
C_SUM_FIA( t_4, t_5, INTOBJ_INT(4) )
2753
CHECK_INT_POS( t_4 )
2754
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2755
RES_BRK_CURR_STAT();
2756
SWITCH_TO_OLD_FRAME(oldFrame);
2757
return t_3;
2758
2759
}
2760
/* fi */
2761
2762
}
2763
/* od */
2764
2765
/* return fail; */
2766
t_1 = GC_fail;
2767
CHECK_BOUND( t_1, "fail" )
2768
RES_BRK_CURR_STAT();
2769
SWITCH_TO_OLD_FRAME(oldFrame);
2770
return t_1;
2771
2772
/* return; */
2773
RES_BRK_CURR_STAT();
2774
SWITCH_TO_OLD_FRAME(oldFrame);
2775
return 0;
2776
}
2777
2778
/* handler for function 22 */
2779
static Obj HdlrFunc22 (
2780
Obj self,
2781
Obj a_operation,
2782
Obj a_flags1,
2783
Obj a_type2,
2784
Obj a_type3 )
2785
{
2786
Obj l_methods = 0;
2787
Obj l_i = 0;
2788
Obj t_1 = 0;
2789
Obj t_2 = 0;
2790
Obj t_3 = 0;
2791
Obj t_4 = 0;
2792
Obj t_5 = 0;
2793
Obj t_6 = 0;
2794
Obj t_7 = 0;
2795
Obj t_8 = 0;
2796
Obj t_9 = 0;
2797
Obj t_10 = 0;
2798
Obj t_11 = 0;
2799
Obj t_12 = 0;
2800
Obj t_13 = 0;
2801
Obj t_14 = 0;
2802
Bag oldFrame;
2803
OLD_BRK_CURR_STAT
2804
2805
/* allocate new stack frame */
2806
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2807
REM_BRK_CURR_STAT();
2808
SET_BRK_CURR_STAT(0);
2809
2810
/* methods := METHODS_OPERATION( operation, 3 ); */
2811
t_2 = GF_METHODS__OPERATION;
2812
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(3) );
2813
CHECK_FUNC_RESULT( t_1 )
2814
l_methods = t_1;
2815
2816
/* for i in [ 1 .. LEN_LIST( methods ) / 7 ] do */
2817
t_4 = GF_LEN__LIST;
2818
t_3 = CALL_1ARGS( t_4, l_methods );
2819
CHECK_FUNC_RESULT( t_3 )
2820
t_2 = QUO( t_3, INTOBJ_INT(7) );
2821
CHECK_INT_SMALL( t_2 )
2822
for ( t_1 = INTOBJ_INT(1);
2823
((Int)t_1) <= ((Int)t_2);
2824
t_1 = (Obj)(((UInt)t_1)+4) ) {
2825
l_i = t_1;
2826
2827
/* if IS_SUBSET_FLAGS( methods[7 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( flags1, type2![1], type3![1] ) then */
2828
t_8 = GF_IS__SUBSET__FLAGS;
2829
C_DIFF_INTOBJS( t_12, l_i, INTOBJ_INT(1) )
2830
C_PROD_FIA( t_11, INTOBJ_INT(7), t_12 )
2831
C_SUM_FIA( t_10, t_11, INTOBJ_INT(2) )
2832
CHECK_INT_POS( t_10 )
2833
C_ELM_LIST_FPL( t_9, l_methods, t_10 )
2834
t_7 = CALL_2ARGS( t_8, t_9, a_flags1 );
2835
CHECK_FUNC_RESULT( t_7 )
2836
CHECK_BOOL( t_7 )
2837
t_6 = (Obj)(UInt)(t_7 != False);
2838
t_5 = t_6;
2839
if ( t_5 ) {
2840
t_9 = GF_IS__SUBSET__FLAGS;
2841
C_ELM_POSOBJ_NLE( t_10, a_type2, 2 );
2842
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
2843
C_PROD_FIA( t_13, INTOBJ_INT(7), t_14 )
2844
C_SUM_FIA( t_12, t_13, INTOBJ_INT(3) )
2845
CHECK_INT_POS( t_12 )
2846
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
2847
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
2848
CHECK_FUNC_RESULT( t_8 )
2849
CHECK_BOOL( t_8 )
2850
t_7 = (Obj)(UInt)(t_8 != False);
2851
t_5 = t_7;
2852
}
2853
t_4 = t_5;
2854
if ( t_4 ) {
2855
t_8 = GF_IS__SUBSET__FLAGS;
2856
C_ELM_POSOBJ_NLE( t_9, a_type3, 2 );
2857
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
2858
C_PROD_FIA( t_12, INTOBJ_INT(7), t_13 )
2859
C_SUM_FIA( t_11, t_12, INTOBJ_INT(4) )
2860
CHECK_INT_POS( t_11 )
2861
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
2862
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
2863
CHECK_FUNC_RESULT( t_7 )
2864
CHECK_BOOL( t_7 )
2865
t_6 = (Obj)(UInt)(t_7 != False);
2866
t_4 = t_6;
2867
}
2868
t_3 = t_4;
2869
if ( t_3 ) {
2870
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
2871
C_PROD_FIA( t_9, INTOBJ_INT(7), t_10 )
2872
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
2873
CHECK_INT_POS( t_8 )
2874
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
2875
CHECK_FUNC( t_7 )
2876
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
2877
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
2878
t_6 = CALL_3ARGS( t_7, a_flags1, t_8, t_9 );
2879
CHECK_FUNC_RESULT( t_6 )
2880
CHECK_BOOL( t_6 )
2881
t_5 = (Obj)(UInt)(t_6 != False);
2882
t_3 = t_5;
2883
}
2884
if ( t_3 ) {
2885
2886
/* return methods[7 * (i - 1) + 5]; */
2887
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
2888
C_PROD_FIA( t_5, INTOBJ_INT(7), t_6 )
2889
C_SUM_FIA( t_4, t_5, INTOBJ_INT(5) )
2890
CHECK_INT_POS( t_4 )
2891
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
2892
RES_BRK_CURR_STAT();
2893
SWITCH_TO_OLD_FRAME(oldFrame);
2894
return t_3;
2895
2896
}
2897
/* fi */
2898
2899
}
2900
/* od */
2901
2902
/* return fail; */
2903
t_1 = GC_fail;
2904
CHECK_BOUND( t_1, "fail" )
2905
RES_BRK_CURR_STAT();
2906
SWITCH_TO_OLD_FRAME(oldFrame);
2907
return t_1;
2908
2909
/* return; */
2910
RES_BRK_CURR_STAT();
2911
SWITCH_TO_OLD_FRAME(oldFrame);
2912
return 0;
2913
}
2914
2915
/* handler for function 23 */
2916
static Obj HdlrFunc23 (
2917
Obj self,
2918
Obj a_operation,
2919
Obj a_flags1,
2920
Obj a_type2,
2921
Obj a_type3,
2922
Obj a_type4 )
2923
{
2924
Obj l_methods = 0;
2925
Obj l_i = 0;
2926
Obj t_1 = 0;
2927
Obj t_2 = 0;
2928
Obj t_3 = 0;
2929
Obj t_4 = 0;
2930
Obj t_5 = 0;
2931
Obj t_6 = 0;
2932
Obj t_7 = 0;
2933
Obj t_8 = 0;
2934
Obj t_9 = 0;
2935
Obj t_10 = 0;
2936
Obj t_11 = 0;
2937
Obj t_12 = 0;
2938
Obj t_13 = 0;
2939
Obj t_14 = 0;
2940
Obj t_15 = 0;
2941
Bag oldFrame;
2942
OLD_BRK_CURR_STAT
2943
2944
/* allocate new stack frame */
2945
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
2946
REM_BRK_CURR_STAT();
2947
SET_BRK_CURR_STAT(0);
2948
2949
/* methods := METHODS_OPERATION( operation, 4 ); */
2950
t_2 = GF_METHODS__OPERATION;
2951
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(4) );
2952
CHECK_FUNC_RESULT( t_1 )
2953
l_methods = t_1;
2954
2955
/* for i in [ 1 .. LEN_LIST( methods ) / 8 ] do */
2956
t_4 = GF_LEN__LIST;
2957
t_3 = CALL_1ARGS( t_4, l_methods );
2958
CHECK_FUNC_RESULT( t_3 )
2959
t_2 = QUO( t_3, INTOBJ_INT(8) );
2960
CHECK_INT_SMALL( t_2 )
2961
for ( t_1 = INTOBJ_INT(1);
2962
((Int)t_1) <= ((Int)t_2);
2963
t_1 = (Obj)(((UInt)t_1)+4) ) {
2964
l_i = t_1;
2965
2966
/* if IS_SUBSET_FLAGS( methods[8 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
2967
and methods[8 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1] ) then */
2968
t_9 = GF_IS__SUBSET__FLAGS;
2969
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
2970
C_PROD_FIA( t_12, INTOBJ_INT(8), t_13 )
2971
C_SUM_FIA( t_11, t_12, INTOBJ_INT(2) )
2972
CHECK_INT_POS( t_11 )
2973
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
2974
t_8 = CALL_2ARGS( t_9, t_10, a_flags1 );
2975
CHECK_FUNC_RESULT( t_8 )
2976
CHECK_BOOL( t_8 )
2977
t_7 = (Obj)(UInt)(t_8 != False);
2978
t_6 = t_7;
2979
if ( t_6 ) {
2980
t_10 = GF_IS__SUBSET__FLAGS;
2981
C_ELM_POSOBJ_NLE( t_11, a_type2, 2 );
2982
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
2983
C_PROD_FIA( t_14, INTOBJ_INT(8), t_15 )
2984
C_SUM_FIA( t_13, t_14, INTOBJ_INT(3) )
2985
CHECK_INT_POS( t_13 )
2986
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
2987
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
2988
CHECK_FUNC_RESULT( t_9 )
2989
CHECK_BOOL( t_9 )
2990
t_8 = (Obj)(UInt)(t_9 != False);
2991
t_6 = t_8;
2992
}
2993
t_5 = t_6;
2994
if ( t_5 ) {
2995
t_9 = GF_IS__SUBSET__FLAGS;
2996
C_ELM_POSOBJ_NLE( t_10, a_type3, 2 );
2997
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
2998
C_PROD_FIA( t_13, INTOBJ_INT(8), t_14 )
2999
C_SUM_FIA( t_12, t_13, INTOBJ_INT(4) )
3000
CHECK_INT_POS( t_12 )
3001
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
3002
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
3003
CHECK_FUNC_RESULT( t_8 )
3004
CHECK_BOOL( t_8 )
3005
t_7 = (Obj)(UInt)(t_8 != False);
3006
t_5 = t_7;
3007
}
3008
t_4 = t_5;
3009
if ( t_4 ) {
3010
t_8 = GF_IS__SUBSET__FLAGS;
3011
C_ELM_POSOBJ_NLE( t_9, a_type4, 2 );
3012
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
3013
C_PROD_FIA( t_12, INTOBJ_INT(8), t_13 )
3014
C_SUM_FIA( t_11, t_12, INTOBJ_INT(5) )
3015
CHECK_INT_POS( t_11 )
3016
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
3017
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
3018
CHECK_FUNC_RESULT( t_7 )
3019
CHECK_BOOL( t_7 )
3020
t_6 = (Obj)(UInt)(t_7 != False);
3021
t_4 = t_6;
3022
}
3023
t_3 = t_4;
3024
if ( t_3 ) {
3025
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3026
C_PROD_FIA( t_9, INTOBJ_INT(8), t_10 )
3027
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3028
CHECK_INT_POS( t_8 )
3029
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3030
CHECK_FUNC( t_7 )
3031
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
3032
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
3033
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
3034
t_6 = CALL_4ARGS( t_7, a_flags1, t_8, t_9, t_10 );
3035
CHECK_FUNC_RESULT( t_6 )
3036
CHECK_BOOL( t_6 )
3037
t_5 = (Obj)(UInt)(t_6 != False);
3038
t_3 = t_5;
3039
}
3040
if ( t_3 ) {
3041
3042
/* return methods[8 * (i - 1) + 6]; */
3043
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3044
C_PROD_FIA( t_5, INTOBJ_INT(8), t_6 )
3045
C_SUM_FIA( t_4, t_5, INTOBJ_INT(6) )
3046
CHECK_INT_POS( t_4 )
3047
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3048
RES_BRK_CURR_STAT();
3049
SWITCH_TO_OLD_FRAME(oldFrame);
3050
return t_3;
3051
3052
}
3053
/* fi */
3054
3055
}
3056
/* od */
3057
3058
/* return fail; */
3059
t_1 = GC_fail;
3060
CHECK_BOUND( t_1, "fail" )
3061
RES_BRK_CURR_STAT();
3062
SWITCH_TO_OLD_FRAME(oldFrame);
3063
return t_1;
3064
3065
/* return; */
3066
RES_BRK_CURR_STAT();
3067
SWITCH_TO_OLD_FRAME(oldFrame);
3068
return 0;
3069
}
3070
3071
/* handler for function 24 */
3072
static Obj HdlrFunc24 (
3073
Obj self,
3074
Obj a_operation,
3075
Obj a_flags1,
3076
Obj a_type2,
3077
Obj a_type3,
3078
Obj a_type4,
3079
Obj a_type5 )
3080
{
3081
Obj l_methods = 0;
3082
Obj l_i = 0;
3083
Obj t_1 = 0;
3084
Obj t_2 = 0;
3085
Obj t_3 = 0;
3086
Obj t_4 = 0;
3087
Obj t_5 = 0;
3088
Obj t_6 = 0;
3089
Obj t_7 = 0;
3090
Obj t_8 = 0;
3091
Obj t_9 = 0;
3092
Obj t_10 = 0;
3093
Obj t_11 = 0;
3094
Obj t_12 = 0;
3095
Obj t_13 = 0;
3096
Obj t_14 = 0;
3097
Obj t_15 = 0;
3098
Obj t_16 = 0;
3099
Bag oldFrame;
3100
OLD_BRK_CURR_STAT
3101
3102
/* allocate new stack frame */
3103
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3104
REM_BRK_CURR_STAT();
3105
SET_BRK_CURR_STAT(0);
3106
3107
/* methods := METHODS_OPERATION( operation, 5 ); */
3108
t_2 = GF_METHODS__OPERATION;
3109
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(5) );
3110
CHECK_FUNC_RESULT( t_1 )
3111
l_methods = t_1;
3112
3113
/* for i in [ 1 .. LEN_LIST( methods ) / 9 ] do */
3114
t_4 = GF_LEN__LIST;
3115
t_3 = CALL_1ARGS( t_4, l_methods );
3116
CHECK_FUNC_RESULT( t_3 )
3117
t_2 = QUO( t_3, INTOBJ_INT(9) );
3118
CHECK_INT_SMALL( t_2 )
3119
for ( t_1 = INTOBJ_INT(1);
3120
((Int)t_1) <= ((Int)t_2);
3121
t_1 = (Obj)(((UInt)t_1)+4) ) {
3122
l_i = t_1;
3123
3124
/* if IS_SUBSET_FLAGS( methods[9 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
3125
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1] ) then */
3126
t_10 = GF_IS__SUBSET__FLAGS;
3127
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
3128
C_PROD_FIA( t_13, INTOBJ_INT(9), t_14 )
3129
C_SUM_FIA( t_12, t_13, INTOBJ_INT(2) )
3130
CHECK_INT_POS( t_12 )
3131
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
3132
t_9 = CALL_2ARGS( t_10, t_11, a_flags1 );
3133
CHECK_FUNC_RESULT( t_9 )
3134
CHECK_BOOL( t_9 )
3135
t_8 = (Obj)(UInt)(t_9 != False);
3136
t_7 = t_8;
3137
if ( t_7 ) {
3138
t_11 = GF_IS__SUBSET__FLAGS;
3139
C_ELM_POSOBJ_NLE( t_12, a_type2, 2 );
3140
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
3141
C_PROD_FIA( t_15, INTOBJ_INT(9), t_16 )
3142
C_SUM_FIA( t_14, t_15, INTOBJ_INT(3) )
3143
CHECK_INT_POS( t_14 )
3144
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
3145
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
3146
CHECK_FUNC_RESULT( t_10 )
3147
CHECK_BOOL( t_10 )
3148
t_9 = (Obj)(UInt)(t_10 != False);
3149
t_7 = t_9;
3150
}
3151
t_6 = t_7;
3152
if ( t_6 ) {
3153
t_10 = GF_IS__SUBSET__FLAGS;
3154
C_ELM_POSOBJ_NLE( t_11, a_type3, 2 );
3155
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
3156
C_PROD_FIA( t_14, INTOBJ_INT(9), t_15 )
3157
C_SUM_FIA( t_13, t_14, INTOBJ_INT(4) )
3158
CHECK_INT_POS( t_13 )
3159
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
3160
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
3161
CHECK_FUNC_RESULT( t_9 )
3162
CHECK_BOOL( t_9 )
3163
t_8 = (Obj)(UInt)(t_9 != False);
3164
t_6 = t_8;
3165
}
3166
t_5 = t_6;
3167
if ( t_5 ) {
3168
t_9 = GF_IS__SUBSET__FLAGS;
3169
C_ELM_POSOBJ_NLE( t_10, a_type4, 2 );
3170
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
3171
C_PROD_FIA( t_13, INTOBJ_INT(9), t_14 )
3172
C_SUM_FIA( t_12, t_13, INTOBJ_INT(5) )
3173
CHECK_INT_POS( t_12 )
3174
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
3175
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
3176
CHECK_FUNC_RESULT( t_8 )
3177
CHECK_BOOL( t_8 )
3178
t_7 = (Obj)(UInt)(t_8 != False);
3179
t_5 = t_7;
3180
}
3181
t_4 = t_5;
3182
if ( t_4 ) {
3183
t_8 = GF_IS__SUBSET__FLAGS;
3184
C_ELM_POSOBJ_NLE( t_9, a_type5, 2 );
3185
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
3186
C_PROD_FIA( t_12, INTOBJ_INT(9), t_13 )
3187
C_SUM_FIA( t_11, t_12, INTOBJ_INT(6) )
3188
CHECK_INT_POS( t_11 )
3189
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
3190
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
3191
CHECK_FUNC_RESULT( t_7 )
3192
CHECK_BOOL( t_7 )
3193
t_6 = (Obj)(UInt)(t_7 != False);
3194
t_4 = t_6;
3195
}
3196
t_3 = t_4;
3197
if ( t_3 ) {
3198
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3199
C_PROD_FIA( t_9, INTOBJ_INT(9), t_10 )
3200
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3201
CHECK_INT_POS( t_8 )
3202
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3203
CHECK_FUNC( t_7 )
3204
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
3205
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
3206
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
3207
C_ELM_POSOBJ_NLE( t_11, a_type5, 1 );
3208
t_6 = CALL_5ARGS( t_7, a_flags1, t_8, t_9, t_10, t_11 );
3209
CHECK_FUNC_RESULT( t_6 )
3210
CHECK_BOOL( t_6 )
3211
t_5 = (Obj)(UInt)(t_6 != False);
3212
t_3 = t_5;
3213
}
3214
if ( t_3 ) {
3215
3216
/* return methods[9 * (i - 1) + 7]; */
3217
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3218
C_PROD_FIA( t_5, INTOBJ_INT(9), t_6 )
3219
C_SUM_FIA( t_4, t_5, INTOBJ_INT(7) )
3220
CHECK_INT_POS( t_4 )
3221
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3222
RES_BRK_CURR_STAT();
3223
SWITCH_TO_OLD_FRAME(oldFrame);
3224
return t_3;
3225
3226
}
3227
/* fi */
3228
3229
}
3230
/* od */
3231
3232
/* return fail; */
3233
t_1 = GC_fail;
3234
CHECK_BOUND( t_1, "fail" )
3235
RES_BRK_CURR_STAT();
3236
SWITCH_TO_OLD_FRAME(oldFrame);
3237
return t_1;
3238
3239
/* return; */
3240
RES_BRK_CURR_STAT();
3241
SWITCH_TO_OLD_FRAME(oldFrame);
3242
return 0;
3243
}
3244
3245
/* handler for function 25 */
3246
static Obj HdlrFunc25 (
3247
Obj self,
3248
Obj args )
3249
{
3250
Obj a_operation;
3251
Obj a_flags1;
3252
Obj a_type2;
3253
Obj a_type3;
3254
Obj a_type4;
3255
Obj a_type5;
3256
Obj a_type6;
3257
Obj l_methods = 0;
3258
Obj l_i = 0;
3259
Obj t_1 = 0;
3260
Obj t_2 = 0;
3261
Obj t_3 = 0;
3262
Obj t_4 = 0;
3263
Obj t_5 = 0;
3264
Obj t_6 = 0;
3265
Obj t_7 = 0;
3266
Obj t_8 = 0;
3267
Obj t_9 = 0;
3268
Obj t_10 = 0;
3269
Obj t_11 = 0;
3270
Obj t_12 = 0;
3271
Obj t_13 = 0;
3272
Obj t_14 = 0;
3273
Obj t_15 = 0;
3274
Obj t_16 = 0;
3275
Obj t_17 = 0;
3276
Bag oldFrame;
3277
OLD_BRK_CURR_STAT
3278
CHECK_NR_ARGS( 7, args )
3279
a_operation = ELM_PLIST( args, 1 );
3280
a_flags1 = ELM_PLIST( args, 2 );
3281
a_type2 = ELM_PLIST( args, 3 );
3282
a_type3 = ELM_PLIST( args, 4 );
3283
a_type4 = ELM_PLIST( args, 5 );
3284
a_type5 = ELM_PLIST( args, 6 );
3285
a_type6 = ELM_PLIST( args, 7 );
3286
3287
/* allocate new stack frame */
3288
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3289
REM_BRK_CURR_STAT();
3290
SET_BRK_CURR_STAT(0);
3291
3292
/* methods := METHODS_OPERATION( operation, 6 ); */
3293
t_2 = GF_METHODS__OPERATION;
3294
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(6) );
3295
CHECK_FUNC_RESULT( t_1 )
3296
l_methods = t_1;
3297
3298
/* for i in [ 1 .. LEN_LIST( methods ) / 10 ] do */
3299
t_4 = GF_LEN__LIST;
3300
t_3 = CALL_1ARGS( t_4, l_methods );
3301
CHECK_FUNC_RESULT( t_3 )
3302
t_2 = QUO( t_3, INTOBJ_INT(10) );
3303
CHECK_INT_SMALL( t_2 )
3304
for ( t_1 = INTOBJ_INT(1);
3305
((Int)t_1) <= ((Int)t_2);
3306
t_1 = (Obj)(((UInt)t_1)+4) ) {
3307
l_i = t_1;
3308
3309
/* if IS_SUBSET_FLAGS( methods[10 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
3310
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1], type6![1] ) then */
3311
t_11 = GF_IS__SUBSET__FLAGS;
3312
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
3313
C_PROD_FIA( t_14, INTOBJ_INT(10), t_15 )
3314
C_SUM_FIA( t_13, t_14, INTOBJ_INT(2) )
3315
CHECK_INT_POS( t_13 )
3316
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
3317
t_10 = CALL_2ARGS( t_11, t_12, a_flags1 );
3318
CHECK_FUNC_RESULT( t_10 )
3319
CHECK_BOOL( t_10 )
3320
t_9 = (Obj)(UInt)(t_10 != False);
3321
t_8 = t_9;
3322
if ( t_8 ) {
3323
t_12 = GF_IS__SUBSET__FLAGS;
3324
C_ELM_POSOBJ_NLE( t_13, a_type2, 2 );
3325
C_DIFF_INTOBJS( t_17, l_i, INTOBJ_INT(1) )
3326
C_PROD_FIA( t_16, INTOBJ_INT(10), t_17 )
3327
C_SUM_FIA( t_15, t_16, INTOBJ_INT(3) )
3328
CHECK_INT_POS( t_15 )
3329
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
3330
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
3331
CHECK_FUNC_RESULT( t_11 )
3332
CHECK_BOOL( t_11 )
3333
t_10 = (Obj)(UInt)(t_11 != False);
3334
t_8 = t_10;
3335
}
3336
t_7 = t_8;
3337
if ( t_7 ) {
3338
t_11 = GF_IS__SUBSET__FLAGS;
3339
C_ELM_POSOBJ_NLE( t_12, a_type3, 2 );
3340
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
3341
C_PROD_FIA( t_15, INTOBJ_INT(10), t_16 )
3342
C_SUM_FIA( t_14, t_15, INTOBJ_INT(4) )
3343
CHECK_INT_POS( t_14 )
3344
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
3345
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
3346
CHECK_FUNC_RESULT( t_10 )
3347
CHECK_BOOL( t_10 )
3348
t_9 = (Obj)(UInt)(t_10 != False);
3349
t_7 = t_9;
3350
}
3351
t_6 = t_7;
3352
if ( t_6 ) {
3353
t_10 = GF_IS__SUBSET__FLAGS;
3354
C_ELM_POSOBJ_NLE( t_11, a_type4, 2 );
3355
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
3356
C_PROD_FIA( t_14, INTOBJ_INT(10), t_15 )
3357
C_SUM_FIA( t_13, t_14, INTOBJ_INT(5) )
3358
CHECK_INT_POS( t_13 )
3359
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
3360
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
3361
CHECK_FUNC_RESULT( t_9 )
3362
CHECK_BOOL( t_9 )
3363
t_8 = (Obj)(UInt)(t_9 != False);
3364
t_6 = t_8;
3365
}
3366
t_5 = t_6;
3367
if ( t_5 ) {
3368
t_9 = GF_IS__SUBSET__FLAGS;
3369
C_ELM_POSOBJ_NLE( t_10, a_type5, 2 );
3370
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
3371
C_PROD_FIA( t_13, INTOBJ_INT(10), t_14 )
3372
C_SUM_FIA( t_12, t_13, INTOBJ_INT(6) )
3373
CHECK_INT_POS( t_12 )
3374
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
3375
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
3376
CHECK_FUNC_RESULT( t_8 )
3377
CHECK_BOOL( t_8 )
3378
t_7 = (Obj)(UInt)(t_8 != False);
3379
t_5 = t_7;
3380
}
3381
t_4 = t_5;
3382
if ( t_4 ) {
3383
t_8 = GF_IS__SUBSET__FLAGS;
3384
C_ELM_POSOBJ_NLE( t_9, a_type6, 2 );
3385
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
3386
C_PROD_FIA( t_12, INTOBJ_INT(10), t_13 )
3387
C_SUM_FIA( t_11, t_12, INTOBJ_INT(7) )
3388
CHECK_INT_POS( t_11 )
3389
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
3390
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
3391
CHECK_FUNC_RESULT( t_7 )
3392
CHECK_BOOL( t_7 )
3393
t_6 = (Obj)(UInt)(t_7 != False);
3394
t_4 = t_6;
3395
}
3396
t_3 = t_4;
3397
if ( t_3 ) {
3398
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3399
C_PROD_FIA( t_9, INTOBJ_INT(10), t_10 )
3400
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3401
CHECK_INT_POS( t_8 )
3402
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3403
CHECK_FUNC( t_7 )
3404
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
3405
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
3406
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
3407
C_ELM_POSOBJ_NLE( t_11, a_type5, 1 );
3408
C_ELM_POSOBJ_NLE( t_12, a_type6, 1 );
3409
t_6 = CALL_6ARGS( t_7, a_flags1, t_8, t_9, t_10, t_11, t_12 );
3410
CHECK_FUNC_RESULT( t_6 )
3411
CHECK_BOOL( t_6 )
3412
t_5 = (Obj)(UInt)(t_6 != False);
3413
t_3 = t_5;
3414
}
3415
if ( t_3 ) {
3416
3417
/* return methods[10 * (i - 1) + 8]; */
3418
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3419
C_PROD_FIA( t_5, INTOBJ_INT(10), t_6 )
3420
C_SUM_FIA( t_4, t_5, INTOBJ_INT(8) )
3421
CHECK_INT_POS( t_4 )
3422
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3423
RES_BRK_CURR_STAT();
3424
SWITCH_TO_OLD_FRAME(oldFrame);
3425
return t_3;
3426
3427
}
3428
/* fi */
3429
3430
}
3431
/* od */
3432
3433
/* return fail; */
3434
t_1 = GC_fail;
3435
CHECK_BOUND( t_1, "fail" )
3436
RES_BRK_CURR_STAT();
3437
SWITCH_TO_OLD_FRAME(oldFrame);
3438
return t_1;
3439
3440
/* return; */
3441
RES_BRK_CURR_STAT();
3442
SWITCH_TO_OLD_FRAME(oldFrame);
3443
return 0;
3444
}
3445
3446
/* handler for function 26 */
3447
static Obj HdlrFunc26 (
3448
Obj self,
3449
Obj a_arg )
3450
{
3451
Obj t_1 = 0;
3452
Obj t_2 = 0;
3453
Bag oldFrame;
3454
OLD_BRK_CURR_STAT
3455
3456
/* allocate new stack frame */
3457
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3458
REM_BRK_CURR_STAT();
3459
SET_BRK_CURR_STAT(0);
3460
3461
/* Error( "not supported yet" ); */
3462
t_1 = GF_Error;
3463
C_NEW_STRING( t_2, 17, "not supported yet" );
3464
CALL_1ARGS( t_1, t_2 );
3465
3466
/* return; */
3467
RES_BRK_CURR_STAT();
3468
SWITCH_TO_OLD_FRAME(oldFrame);
3469
return 0;
3470
3471
/* return; */
3472
RES_BRK_CURR_STAT();
3473
SWITCH_TO_OLD_FRAME(oldFrame);
3474
return 0;
3475
}
3476
3477
/* handler for function 27 */
3478
static Obj HdlrFunc27 (
3479
Obj self,
3480
Obj a_operation,
3481
Obj a_k )
3482
{
3483
Obj l_methods = 0;
3484
Obj l_i = 0;
3485
Obj l_j = 0;
3486
Obj t_1 = 0;
3487
Obj t_2 = 0;
3488
Obj t_3 = 0;
3489
Obj t_4 = 0;
3490
Obj t_5 = 0;
3491
Obj t_6 = 0;
3492
Obj t_7 = 0;
3493
Obj t_8 = 0;
3494
Bag oldFrame;
3495
OLD_BRK_CURR_STAT
3496
3497
/* allocate new stack frame */
3498
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3499
REM_BRK_CURR_STAT();
3500
SET_BRK_CURR_STAT(0);
3501
3502
/* methods := METHODS_OPERATION( operation, 0 ); */
3503
t_2 = GF_METHODS__OPERATION;
3504
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(0) );
3505
CHECK_FUNC_RESULT( t_1 )
3506
l_methods = t_1;
3507
3508
/* j := 0; */
3509
l_j = INTOBJ_INT(0);
3510
3511
/* for i in [ 1 .. LEN_LIST( methods ) / 4 ] do */
3512
t_4 = GF_LEN__LIST;
3513
t_3 = CALL_1ARGS( t_4, l_methods );
3514
CHECK_FUNC_RESULT( t_3 )
3515
t_2 = QUO( t_3, INTOBJ_INT(4) );
3516
CHECK_INT_SMALL( t_2 )
3517
for ( t_1 = INTOBJ_INT(1);
3518
((Int)t_1) <= ((Int)t_2);
3519
t_1 = (Obj)(((UInt)t_1)+4) ) {
3520
l_i = t_1;
3521
3522
/* if methods[4 * (i - 1) + 1]( ) then */
3523
C_DIFF_INTOBJS( t_8, l_i, INTOBJ_INT(1) )
3524
C_PROD_FIA( t_7, INTOBJ_INT(4), t_8 )
3525
C_SUM_FIA( t_6, t_7, INTOBJ_INT(1) )
3526
CHECK_INT_POS( t_6 )
3527
C_ELM_LIST_FPL( t_5, l_methods, t_6 )
3528
CHECK_FUNC( t_5 )
3529
t_4 = CALL_0ARGS( t_5 );
3530
CHECK_FUNC_RESULT( t_4 )
3531
CHECK_BOOL( t_4 )
3532
t_3 = (Obj)(UInt)(t_4 != False);
3533
if ( t_3 ) {
3534
3535
/* if k = j then */
3536
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
3537
if ( t_3 ) {
3538
3539
/* return methods[4 * (i - 1) + 2]; */
3540
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3541
C_PROD_FIA( t_5, INTOBJ_INT(4), t_6 )
3542
C_SUM_FIA( t_4, t_5, INTOBJ_INT(2) )
3543
CHECK_INT_POS( t_4 )
3544
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3545
RES_BRK_CURR_STAT();
3546
SWITCH_TO_OLD_FRAME(oldFrame);
3547
return t_3;
3548
3549
}
3550
3551
/* else */
3552
else {
3553
3554
/* j := j + 1; */
3555
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
3556
l_j = t_3;
3557
3558
}
3559
/* fi */
3560
3561
}
3562
/* fi */
3563
3564
}
3565
/* od */
3566
3567
/* return fail; */
3568
t_1 = GC_fail;
3569
CHECK_BOUND( t_1, "fail" )
3570
RES_BRK_CURR_STAT();
3571
SWITCH_TO_OLD_FRAME(oldFrame);
3572
return t_1;
3573
3574
/* return; */
3575
RES_BRK_CURR_STAT();
3576
SWITCH_TO_OLD_FRAME(oldFrame);
3577
return 0;
3578
}
3579
3580
/* handler for function 28 */
3581
static Obj HdlrFunc28 (
3582
Obj self,
3583
Obj a_operation,
3584
Obj a_k,
3585
Obj a_flags1 )
3586
{
3587
Obj l_methods = 0;
3588
Obj l_i = 0;
3589
Obj l_j = 0;
3590
Obj t_1 = 0;
3591
Obj t_2 = 0;
3592
Obj t_3 = 0;
3593
Obj t_4 = 0;
3594
Obj t_5 = 0;
3595
Obj t_6 = 0;
3596
Obj t_7 = 0;
3597
Obj t_8 = 0;
3598
Obj t_9 = 0;
3599
Obj t_10 = 0;
3600
Bag oldFrame;
3601
OLD_BRK_CURR_STAT
3602
3603
/* allocate new stack frame */
3604
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3605
REM_BRK_CURR_STAT();
3606
SET_BRK_CURR_STAT(0);
3607
3608
/* methods := METHODS_OPERATION( operation, 1 ); */
3609
t_2 = GF_METHODS__OPERATION;
3610
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(1) );
3611
CHECK_FUNC_RESULT( t_1 )
3612
l_methods = t_1;
3613
3614
/* j := 0; */
3615
l_j = INTOBJ_INT(0);
3616
3617
/* for i in [ 1 .. LEN_LIST( methods ) / 5 ] do */
3618
t_4 = GF_LEN__LIST;
3619
t_3 = CALL_1ARGS( t_4, l_methods );
3620
CHECK_FUNC_RESULT( t_3 )
3621
t_2 = QUO( t_3, INTOBJ_INT(5) );
3622
CHECK_INT_SMALL( t_2 )
3623
for ( t_1 = INTOBJ_INT(1);
3624
((Int)t_1) <= ((Int)t_2);
3625
t_1 = (Obj)(((UInt)t_1)+4) ) {
3626
l_i = t_1;
3627
3628
/* if IS_SUBSET_FLAGS( methods[5 * (i - 1) + 2], flags1 ) and methods[5 * (i - 1) + 1]( flags1 ) then */
3629
t_6 = GF_IS__SUBSET__FLAGS;
3630
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3631
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
3632
C_SUM_FIA( t_8, t_9, INTOBJ_INT(2) )
3633
CHECK_INT_POS( t_8 )
3634
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3635
t_5 = CALL_2ARGS( t_6, t_7, a_flags1 );
3636
CHECK_FUNC_RESULT( t_5 )
3637
CHECK_BOOL( t_5 )
3638
t_4 = (Obj)(UInt)(t_5 != False);
3639
t_3 = t_4;
3640
if ( t_3 ) {
3641
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3642
C_PROD_FIA( t_9, INTOBJ_INT(5), t_10 )
3643
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3644
CHECK_INT_POS( t_8 )
3645
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3646
CHECK_FUNC( t_7 )
3647
t_6 = CALL_1ARGS( t_7, a_flags1 );
3648
CHECK_FUNC_RESULT( t_6 )
3649
CHECK_BOOL( t_6 )
3650
t_5 = (Obj)(UInt)(t_6 != False);
3651
t_3 = t_5;
3652
}
3653
if ( t_3 ) {
3654
3655
/* if k = j then */
3656
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
3657
if ( t_3 ) {
3658
3659
/* return methods[5 * (i - 1) + 3]; */
3660
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3661
C_PROD_FIA( t_5, INTOBJ_INT(5), t_6 )
3662
C_SUM_FIA( t_4, t_5, INTOBJ_INT(3) )
3663
CHECK_INT_POS( t_4 )
3664
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3665
RES_BRK_CURR_STAT();
3666
SWITCH_TO_OLD_FRAME(oldFrame);
3667
return t_3;
3668
3669
}
3670
3671
/* else */
3672
else {
3673
3674
/* j := j + 1; */
3675
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
3676
l_j = t_3;
3677
3678
}
3679
/* fi */
3680
3681
}
3682
/* fi */
3683
3684
}
3685
/* od */
3686
3687
/* return fail; */
3688
t_1 = GC_fail;
3689
CHECK_BOUND( t_1, "fail" )
3690
RES_BRK_CURR_STAT();
3691
SWITCH_TO_OLD_FRAME(oldFrame);
3692
return t_1;
3693
3694
/* return; */
3695
RES_BRK_CURR_STAT();
3696
SWITCH_TO_OLD_FRAME(oldFrame);
3697
return 0;
3698
}
3699
3700
/* handler for function 29 */
3701
static Obj HdlrFunc29 (
3702
Obj self,
3703
Obj a_operation,
3704
Obj a_k,
3705
Obj a_flags1,
3706
Obj a_type2 )
3707
{
3708
Obj l_methods = 0;
3709
Obj l_i = 0;
3710
Obj l_j = 0;
3711
Obj t_1 = 0;
3712
Obj t_2 = 0;
3713
Obj t_3 = 0;
3714
Obj t_4 = 0;
3715
Obj t_5 = 0;
3716
Obj t_6 = 0;
3717
Obj t_7 = 0;
3718
Obj t_8 = 0;
3719
Obj t_9 = 0;
3720
Obj t_10 = 0;
3721
Obj t_11 = 0;
3722
Obj t_12 = 0;
3723
Obj t_13 = 0;
3724
Bag oldFrame;
3725
OLD_BRK_CURR_STAT
3726
3727
/* allocate new stack frame */
3728
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3729
REM_BRK_CURR_STAT();
3730
SET_BRK_CURR_STAT(0);
3731
3732
/* methods := METHODS_OPERATION( operation, 2 ); */
3733
t_2 = GF_METHODS__OPERATION;
3734
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(2) );
3735
CHECK_FUNC_RESULT( t_1 )
3736
l_methods = t_1;
3737
3738
/* j := 0; */
3739
l_j = INTOBJ_INT(0);
3740
3741
/* for i in [ 1 .. LEN_LIST( methods ) / 6 ] do */
3742
t_4 = GF_LEN__LIST;
3743
t_3 = CALL_1ARGS( t_4, l_methods );
3744
CHECK_FUNC_RESULT( t_3 )
3745
t_2 = QUO( t_3, INTOBJ_INT(6) );
3746
CHECK_INT_SMALL( t_2 )
3747
for ( t_1 = INTOBJ_INT(1);
3748
((Int)t_1) <= ((Int)t_2);
3749
t_1 = (Obj)(((UInt)t_1)+4) ) {
3750
l_i = t_1;
3751
3752
/* if IS_SUBSET_FLAGS( methods[6 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( flags1, type2![1] ) then */
3753
t_7 = GF_IS__SUBSET__FLAGS;
3754
C_DIFF_INTOBJS( t_11, l_i, INTOBJ_INT(1) )
3755
C_PROD_FIA( t_10, INTOBJ_INT(6), t_11 )
3756
C_SUM_FIA( t_9, t_10, INTOBJ_INT(2) )
3757
CHECK_INT_POS( t_9 )
3758
C_ELM_LIST_FPL( t_8, l_methods, t_9 )
3759
t_6 = CALL_2ARGS( t_7, t_8, a_flags1 );
3760
CHECK_FUNC_RESULT( t_6 )
3761
CHECK_BOOL( t_6 )
3762
t_5 = (Obj)(UInt)(t_6 != False);
3763
t_4 = t_5;
3764
if ( t_4 ) {
3765
t_8 = GF_IS__SUBSET__FLAGS;
3766
C_ELM_POSOBJ_NLE( t_9, a_type2, 2 );
3767
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
3768
C_PROD_FIA( t_12, INTOBJ_INT(6), t_13 )
3769
C_SUM_FIA( t_11, t_12, INTOBJ_INT(3) )
3770
CHECK_INT_POS( t_11 )
3771
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
3772
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
3773
CHECK_FUNC_RESULT( t_7 )
3774
CHECK_BOOL( t_7 )
3775
t_6 = (Obj)(UInt)(t_7 != False);
3776
t_4 = t_6;
3777
}
3778
t_3 = t_4;
3779
if ( t_3 ) {
3780
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3781
C_PROD_FIA( t_9, INTOBJ_INT(6), t_10 )
3782
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3783
CHECK_INT_POS( t_8 )
3784
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3785
CHECK_FUNC( t_7 )
3786
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
3787
t_6 = CALL_2ARGS( t_7, a_flags1, t_8 );
3788
CHECK_FUNC_RESULT( t_6 )
3789
CHECK_BOOL( t_6 )
3790
t_5 = (Obj)(UInt)(t_6 != False);
3791
t_3 = t_5;
3792
}
3793
if ( t_3 ) {
3794
3795
/* if k = j then */
3796
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
3797
if ( t_3 ) {
3798
3799
/* return methods[6 * (i - 1) + 4]; */
3800
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3801
C_PROD_FIA( t_5, INTOBJ_INT(6), t_6 )
3802
C_SUM_FIA( t_4, t_5, INTOBJ_INT(4) )
3803
CHECK_INT_POS( t_4 )
3804
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3805
RES_BRK_CURR_STAT();
3806
SWITCH_TO_OLD_FRAME(oldFrame);
3807
return t_3;
3808
3809
}
3810
3811
/* else */
3812
else {
3813
3814
/* j := j + 1; */
3815
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
3816
l_j = t_3;
3817
3818
}
3819
/* fi */
3820
3821
}
3822
/* fi */
3823
3824
}
3825
/* od */
3826
3827
/* return fail; */
3828
t_1 = GC_fail;
3829
CHECK_BOUND( t_1, "fail" )
3830
RES_BRK_CURR_STAT();
3831
SWITCH_TO_OLD_FRAME(oldFrame);
3832
return t_1;
3833
3834
/* return; */
3835
RES_BRK_CURR_STAT();
3836
SWITCH_TO_OLD_FRAME(oldFrame);
3837
return 0;
3838
}
3839
3840
/* handler for function 30 */
3841
static Obj HdlrFunc30 (
3842
Obj self,
3843
Obj a_operation,
3844
Obj a_k,
3845
Obj a_flags1,
3846
Obj a_type2,
3847
Obj a_type3 )
3848
{
3849
Obj l_methods = 0;
3850
Obj l_i = 0;
3851
Obj l_j = 0;
3852
Obj t_1 = 0;
3853
Obj t_2 = 0;
3854
Obj t_3 = 0;
3855
Obj t_4 = 0;
3856
Obj t_5 = 0;
3857
Obj t_6 = 0;
3858
Obj t_7 = 0;
3859
Obj t_8 = 0;
3860
Obj t_9 = 0;
3861
Obj t_10 = 0;
3862
Obj t_11 = 0;
3863
Obj t_12 = 0;
3864
Obj t_13 = 0;
3865
Obj t_14 = 0;
3866
Bag oldFrame;
3867
OLD_BRK_CURR_STAT
3868
3869
/* allocate new stack frame */
3870
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
3871
REM_BRK_CURR_STAT();
3872
SET_BRK_CURR_STAT(0);
3873
3874
/* methods := METHODS_OPERATION( operation, 3 ); */
3875
t_2 = GF_METHODS__OPERATION;
3876
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(3) );
3877
CHECK_FUNC_RESULT( t_1 )
3878
l_methods = t_1;
3879
3880
/* j := 0; */
3881
l_j = INTOBJ_INT(0);
3882
3883
/* for i in [ 1 .. LEN_LIST( methods ) / 7 ] do */
3884
t_4 = GF_LEN__LIST;
3885
t_3 = CALL_1ARGS( t_4, l_methods );
3886
CHECK_FUNC_RESULT( t_3 )
3887
t_2 = QUO( t_3, INTOBJ_INT(7) );
3888
CHECK_INT_SMALL( t_2 )
3889
for ( t_1 = INTOBJ_INT(1);
3890
((Int)t_1) <= ((Int)t_2);
3891
t_1 = (Obj)(((UInt)t_1)+4) ) {
3892
l_i = t_1;
3893
3894
/* if IS_SUBSET_FLAGS( methods[7 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( flags1, type2![1], type3![1] ) then */
3895
t_8 = GF_IS__SUBSET__FLAGS;
3896
C_DIFF_INTOBJS( t_12, l_i, INTOBJ_INT(1) )
3897
C_PROD_FIA( t_11, INTOBJ_INT(7), t_12 )
3898
C_SUM_FIA( t_10, t_11, INTOBJ_INT(2) )
3899
CHECK_INT_POS( t_10 )
3900
C_ELM_LIST_FPL( t_9, l_methods, t_10 )
3901
t_7 = CALL_2ARGS( t_8, t_9, a_flags1 );
3902
CHECK_FUNC_RESULT( t_7 )
3903
CHECK_BOOL( t_7 )
3904
t_6 = (Obj)(UInt)(t_7 != False);
3905
t_5 = t_6;
3906
if ( t_5 ) {
3907
t_9 = GF_IS__SUBSET__FLAGS;
3908
C_ELM_POSOBJ_NLE( t_10, a_type2, 2 );
3909
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
3910
C_PROD_FIA( t_13, INTOBJ_INT(7), t_14 )
3911
C_SUM_FIA( t_12, t_13, INTOBJ_INT(3) )
3912
CHECK_INT_POS( t_12 )
3913
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
3914
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
3915
CHECK_FUNC_RESULT( t_8 )
3916
CHECK_BOOL( t_8 )
3917
t_7 = (Obj)(UInt)(t_8 != False);
3918
t_5 = t_7;
3919
}
3920
t_4 = t_5;
3921
if ( t_4 ) {
3922
t_8 = GF_IS__SUBSET__FLAGS;
3923
C_ELM_POSOBJ_NLE( t_9, a_type3, 2 );
3924
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
3925
C_PROD_FIA( t_12, INTOBJ_INT(7), t_13 )
3926
C_SUM_FIA( t_11, t_12, INTOBJ_INT(4) )
3927
CHECK_INT_POS( t_11 )
3928
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
3929
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
3930
CHECK_FUNC_RESULT( t_7 )
3931
CHECK_BOOL( t_7 )
3932
t_6 = (Obj)(UInt)(t_7 != False);
3933
t_4 = t_6;
3934
}
3935
t_3 = t_4;
3936
if ( t_3 ) {
3937
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
3938
C_PROD_FIA( t_9, INTOBJ_INT(7), t_10 )
3939
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
3940
CHECK_INT_POS( t_8 )
3941
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
3942
CHECK_FUNC( t_7 )
3943
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
3944
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
3945
t_6 = CALL_3ARGS( t_7, a_flags1, t_8, t_9 );
3946
CHECK_FUNC_RESULT( t_6 )
3947
CHECK_BOOL( t_6 )
3948
t_5 = (Obj)(UInt)(t_6 != False);
3949
t_3 = t_5;
3950
}
3951
if ( t_3 ) {
3952
3953
/* if k = j then */
3954
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
3955
if ( t_3 ) {
3956
3957
/* return methods[7 * (i - 1) + 5]; */
3958
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
3959
C_PROD_FIA( t_5, INTOBJ_INT(7), t_6 )
3960
C_SUM_FIA( t_4, t_5, INTOBJ_INT(5) )
3961
CHECK_INT_POS( t_4 )
3962
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
3963
RES_BRK_CURR_STAT();
3964
SWITCH_TO_OLD_FRAME(oldFrame);
3965
return t_3;
3966
3967
}
3968
3969
/* else */
3970
else {
3971
3972
/* j := j + 1; */
3973
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
3974
l_j = t_3;
3975
3976
}
3977
/* fi */
3978
3979
}
3980
/* fi */
3981
3982
}
3983
/* od */
3984
3985
/* return fail; */
3986
t_1 = GC_fail;
3987
CHECK_BOUND( t_1, "fail" )
3988
RES_BRK_CURR_STAT();
3989
SWITCH_TO_OLD_FRAME(oldFrame);
3990
return t_1;
3991
3992
/* return; */
3993
RES_BRK_CURR_STAT();
3994
SWITCH_TO_OLD_FRAME(oldFrame);
3995
return 0;
3996
}
3997
3998
/* handler for function 31 */
3999
static Obj HdlrFunc31 (
4000
Obj self,
4001
Obj a_operation,
4002
Obj a_k,
4003
Obj a_flags1,
4004
Obj a_type2,
4005
Obj a_type3,
4006
Obj a_type4 )
4007
{
4008
Obj l_methods = 0;
4009
Obj l_i = 0;
4010
Obj l_j = 0;
4011
Obj t_1 = 0;
4012
Obj t_2 = 0;
4013
Obj t_3 = 0;
4014
Obj t_4 = 0;
4015
Obj t_5 = 0;
4016
Obj t_6 = 0;
4017
Obj t_7 = 0;
4018
Obj t_8 = 0;
4019
Obj t_9 = 0;
4020
Obj t_10 = 0;
4021
Obj t_11 = 0;
4022
Obj t_12 = 0;
4023
Obj t_13 = 0;
4024
Obj t_14 = 0;
4025
Obj t_15 = 0;
4026
Bag oldFrame;
4027
OLD_BRK_CURR_STAT
4028
4029
/* allocate new stack frame */
4030
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
4031
REM_BRK_CURR_STAT();
4032
SET_BRK_CURR_STAT(0);
4033
4034
/* methods := METHODS_OPERATION( operation, 4 ); */
4035
t_2 = GF_METHODS__OPERATION;
4036
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(4) );
4037
CHECK_FUNC_RESULT( t_1 )
4038
l_methods = t_1;
4039
4040
/* j := 0; */
4041
l_j = INTOBJ_INT(0);
4042
4043
/* for i in [ 1 .. LEN_LIST( methods ) / 8 ] do */
4044
t_4 = GF_LEN__LIST;
4045
t_3 = CALL_1ARGS( t_4, l_methods );
4046
CHECK_FUNC_RESULT( t_3 )
4047
t_2 = QUO( t_3, INTOBJ_INT(8) );
4048
CHECK_INT_SMALL( t_2 )
4049
for ( t_1 = INTOBJ_INT(1);
4050
((Int)t_1) <= ((Int)t_2);
4051
t_1 = (Obj)(((UInt)t_1)+4) ) {
4052
l_i = t_1;
4053
4054
/* if IS_SUBSET_FLAGS( methods[8 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
4055
and methods[8 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1] ) then */
4056
t_9 = GF_IS__SUBSET__FLAGS;
4057
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
4058
C_PROD_FIA( t_12, INTOBJ_INT(8), t_13 )
4059
C_SUM_FIA( t_11, t_12, INTOBJ_INT(2) )
4060
CHECK_INT_POS( t_11 )
4061
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
4062
t_8 = CALL_2ARGS( t_9, t_10, a_flags1 );
4063
CHECK_FUNC_RESULT( t_8 )
4064
CHECK_BOOL( t_8 )
4065
t_7 = (Obj)(UInt)(t_8 != False);
4066
t_6 = t_7;
4067
if ( t_6 ) {
4068
t_10 = GF_IS__SUBSET__FLAGS;
4069
C_ELM_POSOBJ_NLE( t_11, a_type2, 2 );
4070
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
4071
C_PROD_FIA( t_14, INTOBJ_INT(8), t_15 )
4072
C_SUM_FIA( t_13, t_14, INTOBJ_INT(3) )
4073
CHECK_INT_POS( t_13 )
4074
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
4075
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
4076
CHECK_FUNC_RESULT( t_9 )
4077
CHECK_BOOL( t_9 )
4078
t_8 = (Obj)(UInt)(t_9 != False);
4079
t_6 = t_8;
4080
}
4081
t_5 = t_6;
4082
if ( t_5 ) {
4083
t_9 = GF_IS__SUBSET__FLAGS;
4084
C_ELM_POSOBJ_NLE( t_10, a_type3, 2 );
4085
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
4086
C_PROD_FIA( t_13, INTOBJ_INT(8), t_14 )
4087
C_SUM_FIA( t_12, t_13, INTOBJ_INT(4) )
4088
CHECK_INT_POS( t_12 )
4089
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
4090
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
4091
CHECK_FUNC_RESULT( t_8 )
4092
CHECK_BOOL( t_8 )
4093
t_7 = (Obj)(UInt)(t_8 != False);
4094
t_5 = t_7;
4095
}
4096
t_4 = t_5;
4097
if ( t_4 ) {
4098
t_8 = GF_IS__SUBSET__FLAGS;
4099
C_ELM_POSOBJ_NLE( t_9, a_type4, 2 );
4100
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
4101
C_PROD_FIA( t_12, INTOBJ_INT(8), t_13 )
4102
C_SUM_FIA( t_11, t_12, INTOBJ_INT(5) )
4103
CHECK_INT_POS( t_11 )
4104
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
4105
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
4106
CHECK_FUNC_RESULT( t_7 )
4107
CHECK_BOOL( t_7 )
4108
t_6 = (Obj)(UInt)(t_7 != False);
4109
t_4 = t_6;
4110
}
4111
t_3 = t_4;
4112
if ( t_3 ) {
4113
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
4114
C_PROD_FIA( t_9, INTOBJ_INT(8), t_10 )
4115
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
4116
CHECK_INT_POS( t_8 )
4117
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
4118
CHECK_FUNC( t_7 )
4119
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
4120
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
4121
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
4122
t_6 = CALL_4ARGS( t_7, a_flags1, t_8, t_9, t_10 );
4123
CHECK_FUNC_RESULT( t_6 )
4124
CHECK_BOOL( t_6 )
4125
t_5 = (Obj)(UInt)(t_6 != False);
4126
t_3 = t_5;
4127
}
4128
if ( t_3 ) {
4129
4130
/* if k = j then */
4131
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
4132
if ( t_3 ) {
4133
4134
/* return methods[8 * (i - 1) + 6]; */
4135
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
4136
C_PROD_FIA( t_5, INTOBJ_INT(8), t_6 )
4137
C_SUM_FIA( t_4, t_5, INTOBJ_INT(6) )
4138
CHECK_INT_POS( t_4 )
4139
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
4140
RES_BRK_CURR_STAT();
4141
SWITCH_TO_OLD_FRAME(oldFrame);
4142
return t_3;
4143
4144
}
4145
4146
/* else */
4147
else {
4148
4149
/* j := j + 1; */
4150
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
4151
l_j = t_3;
4152
4153
}
4154
/* fi */
4155
4156
}
4157
/* fi */
4158
4159
}
4160
/* od */
4161
4162
/* return fail; */
4163
t_1 = GC_fail;
4164
CHECK_BOUND( t_1, "fail" )
4165
RES_BRK_CURR_STAT();
4166
SWITCH_TO_OLD_FRAME(oldFrame);
4167
return t_1;
4168
4169
/* return; */
4170
RES_BRK_CURR_STAT();
4171
SWITCH_TO_OLD_FRAME(oldFrame);
4172
return 0;
4173
}
4174
4175
/* handler for function 32 */
4176
static Obj HdlrFunc32 (
4177
Obj self,
4178
Obj args )
4179
{
4180
Obj a_operation;
4181
Obj a_k;
4182
Obj a_flags1;
4183
Obj a_type2;
4184
Obj a_type3;
4185
Obj a_type4;
4186
Obj a_type5;
4187
Obj l_methods = 0;
4188
Obj l_i = 0;
4189
Obj l_j = 0;
4190
Obj t_1 = 0;
4191
Obj t_2 = 0;
4192
Obj t_3 = 0;
4193
Obj t_4 = 0;
4194
Obj t_5 = 0;
4195
Obj t_6 = 0;
4196
Obj t_7 = 0;
4197
Obj t_8 = 0;
4198
Obj t_9 = 0;
4199
Obj t_10 = 0;
4200
Obj t_11 = 0;
4201
Obj t_12 = 0;
4202
Obj t_13 = 0;
4203
Obj t_14 = 0;
4204
Obj t_15 = 0;
4205
Obj t_16 = 0;
4206
Bag oldFrame;
4207
OLD_BRK_CURR_STAT
4208
CHECK_NR_ARGS( 7, args )
4209
a_operation = ELM_PLIST( args, 1 );
4210
a_k = ELM_PLIST( args, 2 );
4211
a_flags1 = ELM_PLIST( args, 3 );
4212
a_type2 = ELM_PLIST( args, 4 );
4213
a_type3 = ELM_PLIST( args, 5 );
4214
a_type4 = ELM_PLIST( args, 6 );
4215
a_type5 = ELM_PLIST( args, 7 );
4216
4217
/* allocate new stack frame */
4218
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
4219
REM_BRK_CURR_STAT();
4220
SET_BRK_CURR_STAT(0);
4221
4222
/* methods := METHODS_OPERATION( operation, 5 ); */
4223
t_2 = GF_METHODS__OPERATION;
4224
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(5) );
4225
CHECK_FUNC_RESULT( t_1 )
4226
l_methods = t_1;
4227
4228
/* j := 0; */
4229
l_j = INTOBJ_INT(0);
4230
4231
/* for i in [ 1 .. LEN_LIST( methods ) / 9 ] do */
4232
t_4 = GF_LEN__LIST;
4233
t_3 = CALL_1ARGS( t_4, l_methods );
4234
CHECK_FUNC_RESULT( t_3 )
4235
t_2 = QUO( t_3, INTOBJ_INT(9) );
4236
CHECK_INT_SMALL( t_2 )
4237
for ( t_1 = INTOBJ_INT(1);
4238
((Int)t_1) <= ((Int)t_2);
4239
t_1 = (Obj)(((UInt)t_1)+4) ) {
4240
l_i = t_1;
4241
4242
/* if IS_SUBSET_FLAGS( methods[9 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
4243
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1] ) then */
4244
t_10 = GF_IS__SUBSET__FLAGS;
4245
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
4246
C_PROD_FIA( t_13, INTOBJ_INT(9), t_14 )
4247
C_SUM_FIA( t_12, t_13, INTOBJ_INT(2) )
4248
CHECK_INT_POS( t_12 )
4249
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
4250
t_9 = CALL_2ARGS( t_10, t_11, a_flags1 );
4251
CHECK_FUNC_RESULT( t_9 )
4252
CHECK_BOOL( t_9 )
4253
t_8 = (Obj)(UInt)(t_9 != False);
4254
t_7 = t_8;
4255
if ( t_7 ) {
4256
t_11 = GF_IS__SUBSET__FLAGS;
4257
C_ELM_POSOBJ_NLE( t_12, a_type2, 2 );
4258
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
4259
C_PROD_FIA( t_15, INTOBJ_INT(9), t_16 )
4260
C_SUM_FIA( t_14, t_15, INTOBJ_INT(3) )
4261
CHECK_INT_POS( t_14 )
4262
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
4263
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
4264
CHECK_FUNC_RESULT( t_10 )
4265
CHECK_BOOL( t_10 )
4266
t_9 = (Obj)(UInt)(t_10 != False);
4267
t_7 = t_9;
4268
}
4269
t_6 = t_7;
4270
if ( t_6 ) {
4271
t_10 = GF_IS__SUBSET__FLAGS;
4272
C_ELM_POSOBJ_NLE( t_11, a_type3, 2 );
4273
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
4274
C_PROD_FIA( t_14, INTOBJ_INT(9), t_15 )
4275
C_SUM_FIA( t_13, t_14, INTOBJ_INT(4) )
4276
CHECK_INT_POS( t_13 )
4277
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
4278
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
4279
CHECK_FUNC_RESULT( t_9 )
4280
CHECK_BOOL( t_9 )
4281
t_8 = (Obj)(UInt)(t_9 != False);
4282
t_6 = t_8;
4283
}
4284
t_5 = t_6;
4285
if ( t_5 ) {
4286
t_9 = GF_IS__SUBSET__FLAGS;
4287
C_ELM_POSOBJ_NLE( t_10, a_type4, 2 );
4288
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
4289
C_PROD_FIA( t_13, INTOBJ_INT(9), t_14 )
4290
C_SUM_FIA( t_12, t_13, INTOBJ_INT(5) )
4291
CHECK_INT_POS( t_12 )
4292
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
4293
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
4294
CHECK_FUNC_RESULT( t_8 )
4295
CHECK_BOOL( t_8 )
4296
t_7 = (Obj)(UInt)(t_8 != False);
4297
t_5 = t_7;
4298
}
4299
t_4 = t_5;
4300
if ( t_4 ) {
4301
t_8 = GF_IS__SUBSET__FLAGS;
4302
C_ELM_POSOBJ_NLE( t_9, a_type5, 2 );
4303
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
4304
C_PROD_FIA( t_12, INTOBJ_INT(9), t_13 )
4305
C_SUM_FIA( t_11, t_12, INTOBJ_INT(6) )
4306
CHECK_INT_POS( t_11 )
4307
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
4308
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
4309
CHECK_FUNC_RESULT( t_7 )
4310
CHECK_BOOL( t_7 )
4311
t_6 = (Obj)(UInt)(t_7 != False);
4312
t_4 = t_6;
4313
}
4314
t_3 = t_4;
4315
if ( t_3 ) {
4316
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
4317
C_PROD_FIA( t_9, INTOBJ_INT(9), t_10 )
4318
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
4319
CHECK_INT_POS( t_8 )
4320
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
4321
CHECK_FUNC( t_7 )
4322
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
4323
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
4324
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
4325
C_ELM_POSOBJ_NLE( t_11, a_type5, 1 );
4326
t_6 = CALL_5ARGS( t_7, a_flags1, t_8, t_9, t_10, t_11 );
4327
CHECK_FUNC_RESULT( t_6 )
4328
CHECK_BOOL( t_6 )
4329
t_5 = (Obj)(UInt)(t_6 != False);
4330
t_3 = t_5;
4331
}
4332
if ( t_3 ) {
4333
4334
/* if k = j then */
4335
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
4336
if ( t_3 ) {
4337
4338
/* return methods[9 * (i - 1) + 7]; */
4339
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
4340
C_PROD_FIA( t_5, INTOBJ_INT(9), t_6 )
4341
C_SUM_FIA( t_4, t_5, INTOBJ_INT(7) )
4342
CHECK_INT_POS( t_4 )
4343
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
4344
RES_BRK_CURR_STAT();
4345
SWITCH_TO_OLD_FRAME(oldFrame);
4346
return t_3;
4347
4348
}
4349
4350
/* else */
4351
else {
4352
4353
/* j := j + 1; */
4354
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
4355
l_j = t_3;
4356
4357
}
4358
/* fi */
4359
4360
}
4361
/* fi */
4362
4363
}
4364
/* od */
4365
4366
/* return fail; */
4367
t_1 = GC_fail;
4368
CHECK_BOUND( t_1, "fail" )
4369
RES_BRK_CURR_STAT();
4370
SWITCH_TO_OLD_FRAME(oldFrame);
4371
return t_1;
4372
4373
/* return; */
4374
RES_BRK_CURR_STAT();
4375
SWITCH_TO_OLD_FRAME(oldFrame);
4376
return 0;
4377
}
4378
4379
/* handler for function 33 */
4380
static Obj HdlrFunc33 (
4381
Obj self,
4382
Obj args )
4383
{
4384
Obj a_operation;
4385
Obj a_k;
4386
Obj a_flags1;
4387
Obj a_type2;
4388
Obj a_type3;
4389
Obj a_type4;
4390
Obj a_type5;
4391
Obj a_type6;
4392
Obj l_methods = 0;
4393
Obj l_i = 0;
4394
Obj l_j = 0;
4395
Obj t_1 = 0;
4396
Obj t_2 = 0;
4397
Obj t_3 = 0;
4398
Obj t_4 = 0;
4399
Obj t_5 = 0;
4400
Obj t_6 = 0;
4401
Obj t_7 = 0;
4402
Obj t_8 = 0;
4403
Obj t_9 = 0;
4404
Obj t_10 = 0;
4405
Obj t_11 = 0;
4406
Obj t_12 = 0;
4407
Obj t_13 = 0;
4408
Obj t_14 = 0;
4409
Obj t_15 = 0;
4410
Obj t_16 = 0;
4411
Obj t_17 = 0;
4412
Bag oldFrame;
4413
OLD_BRK_CURR_STAT
4414
CHECK_NR_ARGS( 8, args )
4415
a_operation = ELM_PLIST( args, 1 );
4416
a_k = ELM_PLIST( args, 2 );
4417
a_flags1 = ELM_PLIST( args, 3 );
4418
a_type2 = ELM_PLIST( args, 4 );
4419
a_type3 = ELM_PLIST( args, 5 );
4420
a_type4 = ELM_PLIST( args, 6 );
4421
a_type5 = ELM_PLIST( args, 7 );
4422
a_type6 = ELM_PLIST( args, 8 );
4423
4424
/* allocate new stack frame */
4425
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
4426
REM_BRK_CURR_STAT();
4427
SET_BRK_CURR_STAT(0);
4428
4429
/* methods := METHODS_OPERATION( operation, 6 ); */
4430
t_2 = GF_METHODS__OPERATION;
4431
t_1 = CALL_2ARGS( t_2, a_operation, INTOBJ_INT(6) );
4432
CHECK_FUNC_RESULT( t_1 )
4433
l_methods = t_1;
4434
4435
/* j := 0; */
4436
l_j = INTOBJ_INT(0);
4437
4438
/* for i in [ 1 .. LEN_LIST( methods ) / 10 ] do */
4439
t_4 = GF_LEN__LIST;
4440
t_3 = CALL_1ARGS( t_4, l_methods );
4441
CHECK_FUNC_RESULT( t_3 )
4442
t_2 = QUO( t_3, INTOBJ_INT(10) );
4443
CHECK_INT_SMALL( t_2 )
4444
for ( t_1 = INTOBJ_INT(1);
4445
((Int)t_1) <= ((Int)t_2);
4446
t_1 = (Obj)(((UInt)t_1)+4) ) {
4447
l_i = t_1;
4448
4449
/* if IS_SUBSET_FLAGS( methods[10 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
4450
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1], type6![1] ) then */
4451
t_11 = GF_IS__SUBSET__FLAGS;
4452
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
4453
C_PROD_FIA( t_14, INTOBJ_INT(10), t_15 )
4454
C_SUM_FIA( t_13, t_14, INTOBJ_INT(2) )
4455
CHECK_INT_POS( t_13 )
4456
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
4457
t_10 = CALL_2ARGS( t_11, t_12, a_flags1 );
4458
CHECK_FUNC_RESULT( t_10 )
4459
CHECK_BOOL( t_10 )
4460
t_9 = (Obj)(UInt)(t_10 != False);
4461
t_8 = t_9;
4462
if ( t_8 ) {
4463
t_12 = GF_IS__SUBSET__FLAGS;
4464
C_ELM_POSOBJ_NLE( t_13, a_type2, 2 );
4465
C_DIFF_INTOBJS( t_17, l_i, INTOBJ_INT(1) )
4466
C_PROD_FIA( t_16, INTOBJ_INT(10), t_17 )
4467
C_SUM_FIA( t_15, t_16, INTOBJ_INT(3) )
4468
CHECK_INT_POS( t_15 )
4469
C_ELM_LIST_FPL( t_14, l_methods, t_15 )
4470
t_11 = CALL_2ARGS( t_12, t_13, t_14 );
4471
CHECK_FUNC_RESULT( t_11 )
4472
CHECK_BOOL( t_11 )
4473
t_10 = (Obj)(UInt)(t_11 != False);
4474
t_8 = t_10;
4475
}
4476
t_7 = t_8;
4477
if ( t_7 ) {
4478
t_11 = GF_IS__SUBSET__FLAGS;
4479
C_ELM_POSOBJ_NLE( t_12, a_type3, 2 );
4480
C_DIFF_INTOBJS( t_16, l_i, INTOBJ_INT(1) )
4481
C_PROD_FIA( t_15, INTOBJ_INT(10), t_16 )
4482
C_SUM_FIA( t_14, t_15, INTOBJ_INT(4) )
4483
CHECK_INT_POS( t_14 )
4484
C_ELM_LIST_FPL( t_13, l_methods, t_14 )
4485
t_10 = CALL_2ARGS( t_11, t_12, t_13 );
4486
CHECK_FUNC_RESULT( t_10 )
4487
CHECK_BOOL( t_10 )
4488
t_9 = (Obj)(UInt)(t_10 != False);
4489
t_7 = t_9;
4490
}
4491
t_6 = t_7;
4492
if ( t_6 ) {
4493
t_10 = GF_IS__SUBSET__FLAGS;
4494
C_ELM_POSOBJ_NLE( t_11, a_type4, 2 );
4495
C_DIFF_INTOBJS( t_15, l_i, INTOBJ_INT(1) )
4496
C_PROD_FIA( t_14, INTOBJ_INT(10), t_15 )
4497
C_SUM_FIA( t_13, t_14, INTOBJ_INT(5) )
4498
CHECK_INT_POS( t_13 )
4499
C_ELM_LIST_FPL( t_12, l_methods, t_13 )
4500
t_9 = CALL_2ARGS( t_10, t_11, t_12 );
4501
CHECK_FUNC_RESULT( t_9 )
4502
CHECK_BOOL( t_9 )
4503
t_8 = (Obj)(UInt)(t_9 != False);
4504
t_6 = t_8;
4505
}
4506
t_5 = t_6;
4507
if ( t_5 ) {
4508
t_9 = GF_IS__SUBSET__FLAGS;
4509
C_ELM_POSOBJ_NLE( t_10, a_type5, 2 );
4510
C_DIFF_INTOBJS( t_14, l_i, INTOBJ_INT(1) )
4511
C_PROD_FIA( t_13, INTOBJ_INT(10), t_14 )
4512
C_SUM_FIA( t_12, t_13, INTOBJ_INT(6) )
4513
CHECK_INT_POS( t_12 )
4514
C_ELM_LIST_FPL( t_11, l_methods, t_12 )
4515
t_8 = CALL_2ARGS( t_9, t_10, t_11 );
4516
CHECK_FUNC_RESULT( t_8 )
4517
CHECK_BOOL( t_8 )
4518
t_7 = (Obj)(UInt)(t_8 != False);
4519
t_5 = t_7;
4520
}
4521
t_4 = t_5;
4522
if ( t_4 ) {
4523
t_8 = GF_IS__SUBSET__FLAGS;
4524
C_ELM_POSOBJ_NLE( t_9, a_type6, 2 );
4525
C_DIFF_INTOBJS( t_13, l_i, INTOBJ_INT(1) )
4526
C_PROD_FIA( t_12, INTOBJ_INT(10), t_13 )
4527
C_SUM_FIA( t_11, t_12, INTOBJ_INT(7) )
4528
CHECK_INT_POS( t_11 )
4529
C_ELM_LIST_FPL( t_10, l_methods, t_11 )
4530
t_7 = CALL_2ARGS( t_8, t_9, t_10 );
4531
CHECK_FUNC_RESULT( t_7 )
4532
CHECK_BOOL( t_7 )
4533
t_6 = (Obj)(UInt)(t_7 != False);
4534
t_4 = t_6;
4535
}
4536
t_3 = t_4;
4537
if ( t_3 ) {
4538
C_DIFF_INTOBJS( t_10, l_i, INTOBJ_INT(1) )
4539
C_PROD_FIA( t_9, INTOBJ_INT(10), t_10 )
4540
C_SUM_FIA( t_8, t_9, INTOBJ_INT(1) )
4541
CHECK_INT_POS( t_8 )
4542
C_ELM_LIST_FPL( t_7, l_methods, t_8 )
4543
CHECK_FUNC( t_7 )
4544
C_ELM_POSOBJ_NLE( t_8, a_type2, 1 );
4545
C_ELM_POSOBJ_NLE( t_9, a_type3, 1 );
4546
C_ELM_POSOBJ_NLE( t_10, a_type4, 1 );
4547
C_ELM_POSOBJ_NLE( t_11, a_type5, 1 );
4548
C_ELM_POSOBJ_NLE( t_12, a_type6, 1 );
4549
t_6 = CALL_6ARGS( t_7, a_flags1, t_8, t_9, t_10, t_11, t_12 );
4550
CHECK_FUNC_RESULT( t_6 )
4551
CHECK_BOOL( t_6 )
4552
t_5 = (Obj)(UInt)(t_6 != False);
4553
t_3 = t_5;
4554
}
4555
if ( t_3 ) {
4556
4557
/* if k = j then */
4558
t_3 = (Obj)(UInt)(EQ( a_k, l_j ));
4559
if ( t_3 ) {
4560
4561
/* return methods[10 * (i - 1) + 8]; */
4562
C_DIFF_INTOBJS( t_6, l_i, INTOBJ_INT(1) )
4563
C_PROD_FIA( t_5, INTOBJ_INT(10), t_6 )
4564
C_SUM_FIA( t_4, t_5, INTOBJ_INT(8) )
4565
CHECK_INT_POS( t_4 )
4566
C_ELM_LIST_FPL( t_3, l_methods, t_4 )
4567
RES_BRK_CURR_STAT();
4568
SWITCH_TO_OLD_FRAME(oldFrame);
4569
return t_3;
4570
4571
}
4572
4573
/* else */
4574
else {
4575
4576
/* j := j + 1; */
4577
C_SUM_FIA( t_3, l_j, INTOBJ_INT(1) )
4578
l_j = t_3;
4579
4580
}
4581
/* fi */
4582
4583
}
4584
/* fi */
4585
4586
}
4587
/* od */
4588
4589
/* return fail; */
4590
t_1 = GC_fail;
4591
CHECK_BOUND( t_1, "fail" )
4592
RES_BRK_CURR_STAT();
4593
SWITCH_TO_OLD_FRAME(oldFrame);
4594
return t_1;
4595
4596
/* return; */
4597
RES_BRK_CURR_STAT();
4598
SWITCH_TO_OLD_FRAME(oldFrame);
4599
return 0;
4600
}
4601
4602
/* handler for function 34 */
4603
static Obj HdlrFunc34 (
4604
Obj self,
4605
Obj a_arg )
4606
{
4607
Obj t_1 = 0;
4608
Obj t_2 = 0;
4609
Bag oldFrame;
4610
OLD_BRK_CURR_STAT
4611
4612
/* allocate new stack frame */
4613
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
4614
REM_BRK_CURR_STAT();
4615
SET_BRK_CURR_STAT(0);
4616
4617
/* Error( "not supported yet" ); */
4618
t_1 = GF_Error;
4619
C_NEW_STRING( t_2, 17, "not supported yet" );
4620
CALL_1ARGS( t_1, t_2 );
4621
4622
/* return; */
4623
RES_BRK_CURR_STAT();
4624
SWITCH_TO_OLD_FRAME(oldFrame);
4625
return 0;
4626
4627
/* return; */
4628
RES_BRK_CURR_STAT();
4629
SWITCH_TO_OLD_FRAME(oldFrame);
4630
return 0;
4631
}
4632
4633
/* handler for function 1 */
4634
static Obj HdlrFunc1 (
4635
Obj self )
4636
{
4637
Obj t_1 = 0;
4638
Obj t_2 = 0;
4639
Bag oldFrame;
4640
OLD_BRK_CURR_STAT
4641
4642
/* allocate new stack frame */
4643
SWITCH_TO_NEW_FRAME(self,0,0,oldFrame);
4644
REM_BRK_CURR_STAT();
4645
SET_BRK_CURR_STAT(0);
4646
4647
/* METHOD_0ARGS := function ( operation )
4648
local methods, i;
4649
methods := METHODS_OPERATION( operation, 0 );
4650
for i in [ 1, 5 .. LEN_LIST( methods ) - 3 ] do
4651
if methods[i]( ) then
4652
return methods[i + 1];
4653
fi;
4654
od;
4655
return fail;
4656
end; */
4657
t_1 = NewFunction( NameFunc[2], NargFunc[2], NamsFunc[2], HdlrFunc2 );
4658
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4659
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4660
STARTLINE_BODY(t_2) = INTOBJ_INT(19);
4661
ENDLINE_BODY(t_2) = INTOBJ_INT(30);
4662
FILENAME_BODY(t_2) = FileName;
4663
BODY_FUNC(t_1) = t_2;
4664
CHANGED_BAG( TLS(CurrLVars) );
4665
AssGVar( G_METHOD__0ARGS, t_1 );
4666
4667
/* METHOD_1ARGS := function ( operation, type1 )
4668
local methods, i;
4669
methods := METHODS_OPERATION( operation, 1 );
4670
for i in [ 1, 6 .. LEN_LIST( methods ) - 4 ] do
4671
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and methods[i]( type1![1] ) then
4672
return methods[i + 2];
4673
fi;
4674
od;
4675
return fail;
4676
end; */
4677
t_1 = NewFunction( NameFunc[3], NargFunc[3], NamsFunc[3], HdlrFunc3 );
4678
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4679
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4680
STARTLINE_BODY(t_2) = INTOBJ_INT(37);
4681
ENDLINE_BODY(t_2) = INTOBJ_INT(49);
4682
FILENAME_BODY(t_2) = FileName;
4683
BODY_FUNC(t_1) = t_2;
4684
CHANGED_BAG( TLS(CurrLVars) );
4685
AssGVar( G_METHOD__1ARGS, t_1 );
4686
4687
/* METHOD_2ARGS := function ( operation, type1, type2 )
4688
local methods, i;
4689
methods := METHODS_OPERATION( operation, 2 );
4690
for i in [ 1, 7 .. LEN_LIST( methods ) - 5 ] do
4691
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and methods[i]( type1![1], type2![1] ) then
4692
return methods[i + 3];
4693
fi;
4694
od;
4695
return fail;
4696
end; */
4697
t_1 = NewFunction( NameFunc[4], NargFunc[4], NamsFunc[4], HdlrFunc4 );
4698
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4699
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4700
STARTLINE_BODY(t_2) = INTOBJ_INT(56);
4701
ENDLINE_BODY(t_2) = INTOBJ_INT(69);
4702
FILENAME_BODY(t_2) = FileName;
4703
BODY_FUNC(t_1) = t_2;
4704
CHANGED_BAG( TLS(CurrLVars) );
4705
AssGVar( G_METHOD__2ARGS, t_1 );
4706
4707
/* METHOD_3ARGS := function ( operation, type1, type2, type3 )
4708
local methods, i;
4709
methods := METHODS_OPERATION( operation, 3 );
4710
for i in [ 1, 8 .. LEN_LIST( methods ) - 6 ] do
4711
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and methods[i]( type1![1], type2![1], type3![1] ) then
4712
return methods[i + 4];
4713
fi;
4714
od;
4715
return fail;
4716
end; */
4717
t_1 = NewFunction( NameFunc[5], NargFunc[5], NamsFunc[5], HdlrFunc5 );
4718
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4719
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4720
STARTLINE_BODY(t_2) = INTOBJ_INT(76);
4721
ENDLINE_BODY(t_2) = INTOBJ_INT(90);
4722
FILENAME_BODY(t_2) = FileName;
4723
BODY_FUNC(t_1) = t_2;
4724
CHANGED_BAG( TLS(CurrLVars) );
4725
AssGVar( G_METHOD__3ARGS, t_1 );
4726
4727
/* METHOD_4ARGS := function ( operation, type1, type2, type3, type4 )
4728
local methods, i;
4729
methods := METHODS_OPERATION( operation, 4 );
4730
for i in [ 1, 9 .. LEN_LIST( methods ) - 7 ] do
4731
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] )
4732
and methods[i]( type1![1], type2![1], type3![1], type4![1] ) then
4733
return methods[i + 5];
4734
fi;
4735
od;
4736
return fail;
4737
end; */
4738
t_1 = NewFunction( NameFunc[6], NargFunc[6], NamsFunc[6], HdlrFunc6 );
4739
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4740
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4741
STARTLINE_BODY(t_2) = INTOBJ_INT(97);
4742
ENDLINE_BODY(t_2) = INTOBJ_INT(114);
4743
FILENAME_BODY(t_2) = FileName;
4744
BODY_FUNC(t_1) = t_2;
4745
CHANGED_BAG( TLS(CurrLVars) );
4746
AssGVar( G_METHOD__4ARGS, t_1 );
4747
4748
/* METHOD_5ARGS := function ( operation, type1, type2, type3, type4, type5 )
4749
local methods, i;
4750
methods := METHODS_OPERATION( operation, 5 );
4751
for i in [ 1, 10 .. LEN_LIST( methods ) - 8 ] do
4752
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] ) and IS_SUBSET_FLAGS( type5![2], methods[i + 5] )
4753
and methods[i]( type1![1], type2![1], type3![1], type4![1], type5![1] ) then
4754
return methods[i + 6];
4755
fi;
4756
od;
4757
return fail;
4758
end; */
4759
t_1 = NewFunction( NameFunc[7], NargFunc[7], NamsFunc[7], HdlrFunc7 );
4760
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4761
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4762
STARTLINE_BODY(t_2) = INTOBJ_INT(121);
4763
ENDLINE_BODY(t_2) = INTOBJ_INT(139);
4764
FILENAME_BODY(t_2) = FileName;
4765
BODY_FUNC(t_1) = t_2;
4766
CHANGED_BAG( TLS(CurrLVars) );
4767
AssGVar( G_METHOD__5ARGS, t_1 );
4768
4769
/* METHOD_6ARGS := function ( operation, type1, type2, type3, type4, type5, type6 )
4770
local methods, i;
4771
methods := METHODS_OPERATION( operation, 6 );
4772
for i in [ 1, 11 .. LEN_LIST( methods ) - 9 ] do
4773
if IS_SUBSET_FLAGS( type1![2], methods[i + 1] ) and IS_SUBSET_FLAGS( type2![2], methods[i + 2] ) and IS_SUBSET_FLAGS( type3![2], methods[i + 3] ) and IS_SUBSET_FLAGS( type4![2], methods[i + 4] ) and IS_SUBSET_FLAGS( type5![2], methods[i + 5] )
4774
and IS_SUBSET_FLAGS( type6![2], methods[i + 6] ) and methods[i]( type1![1], type2![1], type3![1], type4![1], type5![1], type6![1] ) then
4775
return methods[i + 7];
4776
fi;
4777
od;
4778
return fail;
4779
end; */
4780
t_1 = NewFunction( NameFunc[8], NargFunc[8], NamsFunc[8], HdlrFunc8 );
4781
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4782
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4783
STARTLINE_BODY(t_2) = INTOBJ_INT(146);
4784
ENDLINE_BODY(t_2) = INTOBJ_INT(165);
4785
FILENAME_BODY(t_2) = FileName;
4786
BODY_FUNC(t_1) = t_2;
4787
CHANGED_BAG( TLS(CurrLVars) );
4788
AssGVar( G_METHOD__6ARGS, t_1 );
4789
4790
/* METHOD_XARGS := function ( arg... )
4791
Error( "not supported yet" );
4792
return;
4793
end; */
4794
t_1 = NewFunction( NameFunc[9], NargFunc[9], NamsFunc[9], HdlrFunc9 );
4795
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4796
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4797
STARTLINE_BODY(t_2) = INTOBJ_INT(172);
4798
ENDLINE_BODY(t_2) = INTOBJ_INT(174);
4799
FILENAME_BODY(t_2) = FileName;
4800
BODY_FUNC(t_1) = t_2;
4801
CHANGED_BAG( TLS(CurrLVars) );
4802
AssGVar( G_METHOD__XARGS, t_1 );
4803
4804
/* NEXT_METHOD_0ARGS := function ( operation, k )
4805
local methods, i, j;
4806
methods := METHODS_OPERATION( operation, 0 );
4807
j := 0;
4808
for i in [ 1 .. LEN_LIST( methods ) / 4 ] do
4809
if methods[4 * (i - 1) + 1]( ) then
4810
if k = j then
4811
return methods[4 * (i - 1) + 2];
4812
else
4813
j := j + 1;
4814
fi;
4815
fi;
4816
od;
4817
return fail;
4818
end; */
4819
t_1 = NewFunction( NameFunc[10], NargFunc[10], NamsFunc[10], HdlrFunc10 );
4820
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4821
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4822
STARTLINE_BODY(t_2) = INTOBJ_INT(189);
4823
ENDLINE_BODY(t_2) = INTOBJ_INT(205);
4824
FILENAME_BODY(t_2) = FileName;
4825
BODY_FUNC(t_1) = t_2;
4826
CHANGED_BAG( TLS(CurrLVars) );
4827
AssGVar( G_NEXT__METHOD__0ARGS, t_1 );
4828
4829
/* NEXT_METHOD_1ARGS := function ( operation, k, type1 )
4830
local methods, i, j;
4831
methods := METHODS_OPERATION( operation, 1 );
4832
j := 0;
4833
for i in [ 1 .. LEN_LIST( methods ) / 5 ] do
4834
if IS_SUBSET_FLAGS( type1![2], methods[5 * (i - 1) + 2] ) and methods[5 * (i - 1) + 1]( type1![1] ) then
4835
if k = j then
4836
return methods[5 * (i - 1) + 3];
4837
else
4838
j := j + 1;
4839
fi;
4840
fi;
4841
od;
4842
return fail;
4843
end; */
4844
t_1 = NewFunction( NameFunc[11], NargFunc[11], NamsFunc[11], HdlrFunc11 );
4845
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4846
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4847
STARTLINE_BODY(t_2) = INTOBJ_INT(212);
4848
ENDLINE_BODY(t_2) = INTOBJ_INT(229);
4849
FILENAME_BODY(t_2) = FileName;
4850
BODY_FUNC(t_1) = t_2;
4851
CHANGED_BAG( TLS(CurrLVars) );
4852
AssGVar( G_NEXT__METHOD__1ARGS, t_1 );
4853
4854
/* NEXT_METHOD_2ARGS := function ( operation, k, type1, type2 )
4855
local methods, i, j;
4856
methods := METHODS_OPERATION( operation, 2 );
4857
j := 0;
4858
for i in [ 1 .. LEN_LIST( methods ) / 6 ] do
4859
if IS_SUBSET_FLAGS( type1![2], methods[6 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( type1![1], type2![1] ) then
4860
if k = j then
4861
return methods[6 * (i - 1) + 4];
4862
else
4863
j := j + 1;
4864
fi;
4865
fi;
4866
od;
4867
return fail;
4868
end; */
4869
t_1 = NewFunction( NameFunc[12], NargFunc[12], NamsFunc[12], HdlrFunc12 );
4870
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4871
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4872
STARTLINE_BODY(t_2) = INTOBJ_INT(236);
4873
ENDLINE_BODY(t_2) = INTOBJ_INT(254);
4874
FILENAME_BODY(t_2) = FileName;
4875
BODY_FUNC(t_1) = t_2;
4876
CHANGED_BAG( TLS(CurrLVars) );
4877
AssGVar( G_NEXT__METHOD__2ARGS, t_1 );
4878
4879
/* NEXT_METHOD_3ARGS := function ( operation, k, type1, type2, type3 )
4880
local methods, i, j;
4881
methods := METHODS_OPERATION( operation, 3 );
4882
j := 0;
4883
for i in [ 1 .. LEN_LIST( methods ) / 7 ] do
4884
if IS_SUBSET_FLAGS( type1![2], methods[7 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( type1![1], type2![1], type3![1] )
4885
then
4886
if k = j then
4887
return methods[7 * (i - 1) + 5];
4888
else
4889
j := j + 1;
4890
fi;
4891
fi;
4892
od;
4893
return fail;
4894
end; */
4895
t_1 = NewFunction( NameFunc[13], NargFunc[13], NamsFunc[13], HdlrFunc13 );
4896
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4897
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4898
STARTLINE_BODY(t_2) = INTOBJ_INT(261);
4899
ENDLINE_BODY(t_2) = INTOBJ_INT(280);
4900
FILENAME_BODY(t_2) = FileName;
4901
BODY_FUNC(t_1) = t_2;
4902
CHANGED_BAG( TLS(CurrLVars) );
4903
AssGVar( G_NEXT__METHOD__3ARGS, t_1 );
4904
4905
/* NEXT_METHOD_4ARGS := function ( operation, k, type1, type2, type3, type4 )
4906
local methods, i, j;
4907
methods := METHODS_OPERATION( operation, 4 );
4908
j := 0;
4909
for i in [ 1 .. LEN_LIST( methods ) / 8 ] do
4910
if IS_SUBSET_FLAGS( type1![2], methods[8 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
4911
and methods[8 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1] ) then
4912
if k = j then
4913
return methods[8 * (i - 1) + 6];
4914
else
4915
j := j + 1;
4916
fi;
4917
fi;
4918
od;
4919
return fail;
4920
end; */
4921
t_1 = NewFunction( NameFunc[14], NargFunc[14], NamsFunc[14], HdlrFunc14 );
4922
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4923
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4924
STARTLINE_BODY(t_2) = INTOBJ_INT(287);
4925
ENDLINE_BODY(t_2) = INTOBJ_INT(309);
4926
FILENAME_BODY(t_2) = FileName;
4927
BODY_FUNC(t_1) = t_2;
4928
CHANGED_BAG( TLS(CurrLVars) );
4929
AssGVar( G_NEXT__METHOD__4ARGS, t_1 );
4930
4931
/* NEXT_METHOD_5ARGS := function ( operation, k, type1, type2, type3, type4, type5 )
4932
local methods, i, j;
4933
methods := METHODS_OPERATION( operation, 5 );
4934
j := 0;
4935
for i in [ 1 .. LEN_LIST( methods ) / 9 ] do
4936
if IS_SUBSET_FLAGS( type1![2], methods[9 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
4937
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1], type5![1] ) then
4938
if k = j then
4939
return methods[9 * (i - 1) + 7];
4940
else
4941
j := j + 1;
4942
fi;
4943
fi;
4944
od;
4945
return fail;
4946
end; */
4947
t_1 = NewFunction( NameFunc[15], NargFunc[15], NamsFunc[15], HdlrFunc15 );
4948
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4949
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4950
STARTLINE_BODY(t_2) = INTOBJ_INT(316);
4951
ENDLINE_BODY(t_2) = INTOBJ_INT(339);
4952
FILENAME_BODY(t_2) = FileName;
4953
BODY_FUNC(t_1) = t_2;
4954
CHANGED_BAG( TLS(CurrLVars) );
4955
AssGVar( G_NEXT__METHOD__5ARGS, t_1 );
4956
4957
/* NEXT_METHOD_6ARGS := function ( operation, k, type1, type2, type3, type4, type5, type6 )
4958
local methods, i, j;
4959
methods := METHODS_OPERATION( operation, 6 );
4960
j := 0;
4961
for i in [ 1 .. LEN_LIST( methods ) / 10 ] do
4962
if IS_SUBSET_FLAGS( type1![2], methods[10 * (i - 1) + 2] ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
4963
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( type1![1], type2![1], type3![1], type4![1], type5![1], type6![1] ) then
4964
if k = j then
4965
return methods[10 * (i - 1) + 8];
4966
else
4967
j := j + 1;
4968
fi;
4969
fi;
4970
od;
4971
return fail;
4972
end; */
4973
t_1 = NewFunction( NameFunc[16], NargFunc[16], NamsFunc[16], HdlrFunc16 );
4974
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4975
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4976
STARTLINE_BODY(t_2) = INTOBJ_INT(346);
4977
ENDLINE_BODY(t_2) = INTOBJ_INT(370);
4978
FILENAME_BODY(t_2) = FileName;
4979
BODY_FUNC(t_1) = t_2;
4980
CHANGED_BAG( TLS(CurrLVars) );
4981
AssGVar( G_NEXT__METHOD__6ARGS, t_1 );
4982
4983
/* NEXT_METHOD_XARGS := function ( arg... )
4984
Error( "not supported yet" );
4985
return;
4986
end; */
4987
t_1 = NewFunction( NameFunc[17], NargFunc[17], NamsFunc[17], HdlrFunc17 );
4988
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
4989
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
4990
STARTLINE_BODY(t_2) = INTOBJ_INT(377);
4991
ENDLINE_BODY(t_2) = INTOBJ_INT(379);
4992
FILENAME_BODY(t_2) = FileName;
4993
BODY_FUNC(t_1) = t_2;
4994
CHANGED_BAG( TLS(CurrLVars) );
4995
AssGVar( G_NEXT__METHOD__XARGS, t_1 );
4996
4997
/* AttributeValueNotSet := function ( attr, obj )
4998
local type, fam, methods, i, flag, erg;
4999
type := TypeObj( obj );
5000
fam := FamilyObj( obj );
5001
methods := METHODS_OPERATION( attr, 1 );
5002
for i in [ 1 .. LEN_LIST( methods ) / 5 ] do
5003
flag := true;
5004
flag := flag and IS_SUBSET_FLAGS( type![2], methods[5 * (i - 1) + 2] );
5005
if flag then
5006
flag := flag and methods[5 * (i - 1) + 1]( fam );
5007
fi;
5008
if flag then
5009
attr := methods[5 * (i - 1) + 3];
5010
erg := attr( obj );
5011
if not IS_IDENTICAL_OBJ( erg, TRY_NEXT_METHOD ) then
5012
return erg;
5013
fi;
5014
fi;
5015
od;
5016
Error( "No applicable method found for attribute" );
5017
return;
5018
end; */
5019
t_1 = NewFunction( NameFunc[18], NargFunc[18], NamsFunc[18], HdlrFunc18 );
5020
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5021
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5022
STARTLINE_BODY(t_2) = INTOBJ_INT(385);
5023
ENDLINE_BODY(t_2) = INTOBJ_INT(406);
5024
FILENAME_BODY(t_2) = FileName;
5025
BODY_FUNC(t_1) = t_2;
5026
CHANGED_BAG( TLS(CurrLVars) );
5027
AssGVar( G_AttributeValueNotSet, t_1 );
5028
5029
/* CONSTRUCTOR_0ARGS := function ( operation )
5030
local methods, i;
5031
methods := METHODS_OPERATION( operation, 0 );
5032
for i in [ 1 .. LEN_LIST( methods ) / 4 ] do
5033
if methods[4 * (i - 1) + 1]( ) then
5034
return methods[4 * (i - 1) + 2];
5035
fi;
5036
od;
5037
return fail;
5038
end; */
5039
t_1 = NewFunction( NameFunc[19], NargFunc[19], NamsFunc[19], HdlrFunc19 );
5040
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5041
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5042
STARTLINE_BODY(t_2) = INTOBJ_INT(419);
5043
ENDLINE_BODY(t_2) = INTOBJ_INT(430);
5044
FILENAME_BODY(t_2) = FileName;
5045
BODY_FUNC(t_1) = t_2;
5046
CHANGED_BAG( TLS(CurrLVars) );
5047
AssGVar( G_CONSTRUCTOR__0ARGS, t_1 );
5048
5049
/* CONSTRUCTOR_1ARGS := function ( operation, flags1 )
5050
local methods, i;
5051
methods := METHODS_OPERATION( operation, 1 );
5052
for i in [ 1 .. LEN_LIST( methods ) / 5 ] do
5053
if IS_SUBSET_FLAGS( methods[5 * (i - 1) + 2], flags1 ) and methods[5 * (i - 1) + 1]( flags1 ) then
5054
return methods[5 * (i - 1) + 3];
5055
fi;
5056
od;
5057
return fail;
5058
end; */
5059
t_1 = NewFunction( NameFunc[20], NargFunc[20], NamsFunc[20], HdlrFunc20 );
5060
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5061
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5062
STARTLINE_BODY(t_2) = INTOBJ_INT(437);
5063
ENDLINE_BODY(t_2) = INTOBJ_INT(449);
5064
FILENAME_BODY(t_2) = FileName;
5065
BODY_FUNC(t_1) = t_2;
5066
CHANGED_BAG( TLS(CurrLVars) );
5067
AssGVar( G_CONSTRUCTOR__1ARGS, t_1 );
5068
5069
/* CONSTRUCTOR_2ARGS := function ( operation, flags1, type2 )
5070
local methods, i;
5071
methods := METHODS_OPERATION( operation, 2 );
5072
for i in [ 1 .. LEN_LIST( methods ) / 6 ] do
5073
if IS_SUBSET_FLAGS( methods[6 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( flags1, type2![1] ) then
5074
return methods[6 * (i - 1) + 4];
5075
fi;
5076
od;
5077
return fail;
5078
end; */
5079
t_1 = NewFunction( NameFunc[21], NargFunc[21], NamsFunc[21], HdlrFunc21 );
5080
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5081
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5082
STARTLINE_BODY(t_2) = INTOBJ_INT(456);
5083
ENDLINE_BODY(t_2) = INTOBJ_INT(469);
5084
FILENAME_BODY(t_2) = FileName;
5085
BODY_FUNC(t_1) = t_2;
5086
CHANGED_BAG( TLS(CurrLVars) );
5087
AssGVar( G_CONSTRUCTOR__2ARGS, t_1 );
5088
5089
/* CONSTRUCTOR_3ARGS := function ( operation, flags1, type2, type3 )
5090
local methods, i;
5091
methods := METHODS_OPERATION( operation, 3 );
5092
for i in [ 1 .. LEN_LIST( methods ) / 7 ] do
5093
if IS_SUBSET_FLAGS( methods[7 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( flags1, type2![1], type3![1] ) then
5094
return methods[7 * (i - 1) + 5];
5095
fi;
5096
od;
5097
return fail;
5098
end; */
5099
t_1 = NewFunction( NameFunc[22], NargFunc[22], NamsFunc[22], HdlrFunc22 );
5100
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5101
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5102
STARTLINE_BODY(t_2) = INTOBJ_INT(476);
5103
ENDLINE_BODY(t_2) = INTOBJ_INT(490);
5104
FILENAME_BODY(t_2) = FileName;
5105
BODY_FUNC(t_1) = t_2;
5106
CHANGED_BAG( TLS(CurrLVars) );
5107
AssGVar( G_CONSTRUCTOR__3ARGS, t_1 );
5108
5109
/* CONSTRUCTOR_4ARGS := function ( operation, flags1, type2, type3, type4 )
5110
local methods, i;
5111
methods := METHODS_OPERATION( operation, 4 );
5112
for i in [ 1 .. LEN_LIST( methods ) / 8 ] do
5113
if IS_SUBSET_FLAGS( methods[8 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
5114
and methods[8 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1] ) then
5115
return methods[8 * (i - 1) + 6];
5116
fi;
5117
od;
5118
return fail;
5119
end; */
5120
t_1 = NewFunction( NameFunc[23], NargFunc[23], NamsFunc[23], HdlrFunc23 );
5121
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5122
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5123
STARTLINE_BODY(t_2) = INTOBJ_INT(497);
5124
ENDLINE_BODY(t_2) = INTOBJ_INT(514);
5125
FILENAME_BODY(t_2) = FileName;
5126
BODY_FUNC(t_1) = t_2;
5127
CHANGED_BAG( TLS(CurrLVars) );
5128
AssGVar( G_CONSTRUCTOR__4ARGS, t_1 );
5129
5130
/* CONSTRUCTOR_5ARGS := function ( operation, flags1, type2, type3, type4, type5 )
5131
local methods, i;
5132
methods := METHODS_OPERATION( operation, 5 );
5133
for i in [ 1 .. LEN_LIST( methods ) / 9 ] do
5134
if IS_SUBSET_FLAGS( methods[9 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
5135
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1] ) then
5136
return methods[9 * (i - 1) + 7];
5137
fi;
5138
od;
5139
return fail;
5140
end; */
5141
t_1 = NewFunction( NameFunc[24], NargFunc[24], NamsFunc[24], HdlrFunc24 );
5142
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5143
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5144
STARTLINE_BODY(t_2) = INTOBJ_INT(521);
5145
ENDLINE_BODY(t_2) = INTOBJ_INT(539);
5146
FILENAME_BODY(t_2) = FileName;
5147
BODY_FUNC(t_1) = t_2;
5148
CHANGED_BAG( TLS(CurrLVars) );
5149
AssGVar( G_CONSTRUCTOR__5ARGS, t_1 );
5150
5151
/* CONSTRUCTOR_6ARGS := function ( operation, flags1, type2, type3, type4, type5, type6 )
5152
local methods, i;
5153
methods := METHODS_OPERATION( operation, 6 );
5154
for i in [ 1 .. LEN_LIST( methods ) / 10 ] do
5155
if IS_SUBSET_FLAGS( methods[10 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
5156
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1], type6![1] ) then
5157
return methods[10 * (i - 1) + 8];
5158
fi;
5159
od;
5160
return fail;
5161
end; */
5162
t_1 = NewFunction( NameFunc[25], NargFunc[25], NamsFunc[25], HdlrFunc25 );
5163
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5164
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5165
STARTLINE_BODY(t_2) = INTOBJ_INT(546);
5166
ENDLINE_BODY(t_2) = INTOBJ_INT(565);
5167
FILENAME_BODY(t_2) = FileName;
5168
BODY_FUNC(t_1) = t_2;
5169
CHANGED_BAG( TLS(CurrLVars) );
5170
AssGVar( G_CONSTRUCTOR__6ARGS, t_1 );
5171
5172
/* CONSTRUCTOR_XARGS := function ( arg... )
5173
Error( "not supported yet" );
5174
return;
5175
end; */
5176
t_1 = NewFunction( NameFunc[26], NargFunc[26], NamsFunc[26], HdlrFunc26 );
5177
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5178
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5179
STARTLINE_BODY(t_2) = INTOBJ_INT(572);
5180
ENDLINE_BODY(t_2) = INTOBJ_INT(574);
5181
FILENAME_BODY(t_2) = FileName;
5182
BODY_FUNC(t_1) = t_2;
5183
CHANGED_BAG( TLS(CurrLVars) );
5184
AssGVar( G_CONSTRUCTOR__XARGS, t_1 );
5185
5186
/* NEXT_CONSTRUCTOR_0ARGS := function ( operation, k )
5187
local methods, i, j;
5188
methods := METHODS_OPERATION( operation, 0 );
5189
j := 0;
5190
for i in [ 1 .. LEN_LIST( methods ) / 4 ] do
5191
if methods[4 * (i - 1) + 1]( ) then
5192
if k = j then
5193
return methods[4 * (i - 1) + 2];
5194
else
5195
j := j + 1;
5196
fi;
5197
fi;
5198
od;
5199
return fail;
5200
end; */
5201
t_1 = NewFunction( NameFunc[27], NargFunc[27], NamsFunc[27], HdlrFunc27 );
5202
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5203
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5204
STARTLINE_BODY(t_2) = INTOBJ_INT(589);
5205
ENDLINE_BODY(t_2) = INTOBJ_INT(605);
5206
FILENAME_BODY(t_2) = FileName;
5207
BODY_FUNC(t_1) = t_2;
5208
CHANGED_BAG( TLS(CurrLVars) );
5209
AssGVar( G_NEXT__CONSTRUCTOR__0ARGS, t_1 );
5210
5211
/* NEXT_CONSTRUCTOR_1ARGS := function ( operation, k, flags1 )
5212
local methods, i, j;
5213
methods := METHODS_OPERATION( operation, 1 );
5214
j := 0;
5215
for i in [ 1 .. LEN_LIST( methods ) / 5 ] do
5216
if IS_SUBSET_FLAGS( methods[5 * (i - 1) + 2], flags1 ) and methods[5 * (i - 1) + 1]( flags1 ) then
5217
if k = j then
5218
return methods[5 * (i - 1) + 3];
5219
else
5220
j := j + 1;
5221
fi;
5222
fi;
5223
od;
5224
return fail;
5225
end; */
5226
t_1 = NewFunction( NameFunc[28], NargFunc[28], NamsFunc[28], HdlrFunc28 );
5227
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5228
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5229
STARTLINE_BODY(t_2) = INTOBJ_INT(612);
5230
ENDLINE_BODY(t_2) = INTOBJ_INT(629);
5231
FILENAME_BODY(t_2) = FileName;
5232
BODY_FUNC(t_1) = t_2;
5233
CHANGED_BAG( TLS(CurrLVars) );
5234
AssGVar( G_NEXT__CONSTRUCTOR__1ARGS, t_1 );
5235
5236
/* NEXT_CONSTRUCTOR_2ARGS := function ( operation, k, flags1, type2 )
5237
local methods, i, j;
5238
methods := METHODS_OPERATION( operation, 2 );
5239
j := 0;
5240
for i in [ 1 .. LEN_LIST( methods ) / 6 ] do
5241
if IS_SUBSET_FLAGS( methods[6 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[6 * (i - 1) + 3] ) and methods[6 * (i - 1) + 1]( flags1, type2![1] ) then
5242
if k = j then
5243
return methods[6 * (i - 1) + 4];
5244
else
5245
j := j + 1;
5246
fi;
5247
fi;
5248
od;
5249
return fail;
5250
end; */
5251
t_1 = NewFunction( NameFunc[29], NargFunc[29], NamsFunc[29], HdlrFunc29 );
5252
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5253
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5254
STARTLINE_BODY(t_2) = INTOBJ_INT(636);
5255
ENDLINE_BODY(t_2) = INTOBJ_INT(654);
5256
FILENAME_BODY(t_2) = FileName;
5257
BODY_FUNC(t_1) = t_2;
5258
CHANGED_BAG( TLS(CurrLVars) );
5259
AssGVar( G_NEXT__CONSTRUCTOR__2ARGS, t_1 );
5260
5261
/* NEXT_CONSTRUCTOR_3ARGS := function ( operation, k, flags1, type2, type3 )
5262
local methods, i, j;
5263
methods := METHODS_OPERATION( operation, 3 );
5264
j := 0;
5265
for i in [ 1 .. LEN_LIST( methods ) / 7 ] do
5266
if IS_SUBSET_FLAGS( methods[7 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[7 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[7 * (i - 1) + 4] ) and methods[7 * (i - 1) + 1]( flags1, type2![1], type3![1] ) then
5267
if k = j then
5268
return methods[7 * (i - 1) + 5];
5269
else
5270
j := j + 1;
5271
fi;
5272
fi;
5273
od;
5274
return fail;
5275
end; */
5276
t_1 = NewFunction( NameFunc[30], NargFunc[30], NamsFunc[30], HdlrFunc30 );
5277
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5278
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5279
STARTLINE_BODY(t_2) = INTOBJ_INT(661);
5280
ENDLINE_BODY(t_2) = INTOBJ_INT(680);
5281
FILENAME_BODY(t_2) = FileName;
5282
BODY_FUNC(t_1) = t_2;
5283
CHANGED_BAG( TLS(CurrLVars) );
5284
AssGVar( G_NEXT__CONSTRUCTOR__3ARGS, t_1 );
5285
5286
/* NEXT_CONSTRUCTOR_4ARGS := function ( operation, k, flags1, type2, type3, type4 )
5287
local methods, i, j;
5288
methods := METHODS_OPERATION( operation, 4 );
5289
j := 0;
5290
for i in [ 1 .. LEN_LIST( methods ) / 8 ] do
5291
if IS_SUBSET_FLAGS( methods[8 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[8 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[8 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[8 * (i - 1) + 5] )
5292
and methods[8 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1] ) then
5293
if k = j then
5294
return methods[8 * (i - 1) + 6];
5295
else
5296
j := j + 1;
5297
fi;
5298
fi;
5299
od;
5300
return fail;
5301
end; */
5302
t_1 = NewFunction( NameFunc[31], NargFunc[31], NamsFunc[31], HdlrFunc31 );
5303
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5304
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5305
STARTLINE_BODY(t_2) = INTOBJ_INT(687);
5306
ENDLINE_BODY(t_2) = INTOBJ_INT(709);
5307
FILENAME_BODY(t_2) = FileName;
5308
BODY_FUNC(t_1) = t_2;
5309
CHANGED_BAG( TLS(CurrLVars) );
5310
AssGVar( G_NEXT__CONSTRUCTOR__4ARGS, t_1 );
5311
5312
/* NEXT_CONSTRUCTOR_5ARGS := function ( operation, k, flags1, type2, type3, type4, type5 )
5313
local methods, i, j;
5314
methods := METHODS_OPERATION( operation, 5 );
5315
j := 0;
5316
for i in [ 1 .. LEN_LIST( methods ) / 9 ] do
5317
if IS_SUBSET_FLAGS( methods[9 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[9 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[9 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[9 * (i - 1) + 5] )
5318
and IS_SUBSET_FLAGS( type5![2], methods[9 * (i - 1) + 6] ) and methods[9 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1] ) then
5319
if k = j then
5320
return methods[9 * (i - 1) + 7];
5321
else
5322
j := j + 1;
5323
fi;
5324
fi;
5325
od;
5326
return fail;
5327
end; */
5328
t_1 = NewFunction( NameFunc[32], NargFunc[32], NamsFunc[32], HdlrFunc32 );
5329
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5330
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5331
STARTLINE_BODY(t_2) = INTOBJ_INT(716);
5332
ENDLINE_BODY(t_2) = INTOBJ_INT(739);
5333
FILENAME_BODY(t_2) = FileName;
5334
BODY_FUNC(t_1) = t_2;
5335
CHANGED_BAG( TLS(CurrLVars) );
5336
AssGVar( G_NEXT__CONSTRUCTOR__5ARGS, t_1 );
5337
5338
/* NEXT_CONSTRUCTOR_6ARGS := function ( operation, k, flags1, type2, type3, type4, type5, type6 )
5339
local methods, i, j;
5340
methods := METHODS_OPERATION( operation, 6 );
5341
j := 0;
5342
for i in [ 1 .. LEN_LIST( methods ) / 10 ] do
5343
if IS_SUBSET_FLAGS( methods[10 * (i - 1) + 2], flags1 ) and IS_SUBSET_FLAGS( type2![2], methods[10 * (i - 1) + 3] ) and IS_SUBSET_FLAGS( type3![2], methods[10 * (i - 1) + 4] ) and IS_SUBSET_FLAGS( type4![2], methods[10 * (i - 1) + 5] )
5344
and IS_SUBSET_FLAGS( type5![2], methods[10 * (i - 1) + 6] ) and IS_SUBSET_FLAGS( type6![2], methods[10 * (i - 1) + 7] ) and methods[10 * (i - 1) + 1]( flags1, type2![1], type3![1], type4![1], type5![1], type6![1] ) then
5345
if k = j then
5346
return methods[10 * (i - 1) + 8];
5347
else
5348
j := j + 1;
5349
fi;
5350
fi;
5351
od;
5352
return fail;
5353
end; */
5354
t_1 = NewFunction( NameFunc[33], NargFunc[33], NamsFunc[33], HdlrFunc33 );
5355
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5356
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5357
STARTLINE_BODY(t_2) = INTOBJ_INT(746);
5358
ENDLINE_BODY(t_2) = INTOBJ_INT(770);
5359
FILENAME_BODY(t_2) = FileName;
5360
BODY_FUNC(t_1) = t_2;
5361
CHANGED_BAG( TLS(CurrLVars) );
5362
AssGVar( G_NEXT__CONSTRUCTOR__6ARGS, t_1 );
5363
5364
/* NEXT_CONSTRUCTOR_XARGS := function ( arg... )
5365
Error( "not supported yet" );
5366
return;
5367
end; */
5368
t_1 = NewFunction( NameFunc[34], NargFunc[34], NamsFunc[34], HdlrFunc34 );
5369
ENVI_FUNC( t_1 ) = TLS(CurrLVars);
5370
t_2 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj) );
5371
STARTLINE_BODY(t_2) = INTOBJ_INT(777);
5372
ENDLINE_BODY(t_2) = INTOBJ_INT(779);
5373
FILENAME_BODY(t_2) = FileName;
5374
BODY_FUNC(t_1) = t_2;
5375
CHANGED_BAG( TLS(CurrLVars) );
5376
AssGVar( G_NEXT__CONSTRUCTOR__XARGS, t_1 );
5377
5378
/* return; */
5379
RES_BRK_CURR_STAT();
5380
SWITCH_TO_OLD_FRAME(oldFrame);
5381
return 0;
5382
5383
/* return; */
5384
RES_BRK_CURR_STAT();
5385
SWITCH_TO_OLD_FRAME(oldFrame);
5386
return 0;
5387
}
5388
5389
/* 'InitKernel' sets up data structures, fopies, copies, handlers */
5390
static Int InitKernel ( StructInitInfo * module )
5391
{
5392
5393
/* global variables used in handlers */
5394
InitFopyGVar( "Error", &GF_Error );
5395
InitFopyGVar( "IS_IDENTICAL_OBJ", &GF_IS__IDENTICAL__OBJ );
5396
InitCopyGVar( "TRY_NEXT_METHOD", &GC_TRY__NEXT__METHOD );
5397
InitFopyGVar( "IS_SUBSET_FLAGS", &GF_IS__SUBSET__FLAGS );
5398
InitFopyGVar( "METHODS_OPERATION", &GF_METHODS__OPERATION );
5399
InitCopyGVar( "fail", &GC_fail );
5400
InitFopyGVar( "LEN_LIST", &GF_LEN__LIST );
5401
InitFopyGVar( "TypeObj", &GF_TypeObj );
5402
InitFopyGVar( "FamilyObj", &GF_FamilyObj );
5403
5404
/* information for the functions */
5405
InitGlobalBag( &DefaultName, "GAPROOT/lib/methsel1.g:DefaultName(-44567931)" );
5406
InitGlobalBag( &FileName, "GAPROOT/lib/methsel1.g:FileName(-44567931)" );
5407
InitHandlerFunc( HdlrFunc1, "GAPROOT/lib/methsel1.g:HdlrFunc1(-44567931)" );
5408
InitGlobalBag( &(NameFunc[1]), "GAPROOT/lib/methsel1.g:NameFunc[1](-44567931)" );
5409
InitHandlerFunc( HdlrFunc2, "GAPROOT/lib/methsel1.g:HdlrFunc2(-44567931)" );
5410
InitGlobalBag( &(NameFunc[2]), "GAPROOT/lib/methsel1.g:NameFunc[2](-44567931)" );
5411
InitHandlerFunc( HdlrFunc3, "GAPROOT/lib/methsel1.g:HdlrFunc3(-44567931)" );
5412
InitGlobalBag( &(NameFunc[3]), "GAPROOT/lib/methsel1.g:NameFunc[3](-44567931)" );
5413
InitHandlerFunc( HdlrFunc4, "GAPROOT/lib/methsel1.g:HdlrFunc4(-44567931)" );
5414
InitGlobalBag( &(NameFunc[4]), "GAPROOT/lib/methsel1.g:NameFunc[4](-44567931)" );
5415
InitHandlerFunc( HdlrFunc5, "GAPROOT/lib/methsel1.g:HdlrFunc5(-44567931)" );
5416
InitGlobalBag( &(NameFunc[5]), "GAPROOT/lib/methsel1.g:NameFunc[5](-44567931)" );
5417
InitHandlerFunc( HdlrFunc6, "GAPROOT/lib/methsel1.g:HdlrFunc6(-44567931)" );
5418
InitGlobalBag( &(NameFunc[6]), "GAPROOT/lib/methsel1.g:NameFunc[6](-44567931)" );
5419
InitHandlerFunc( HdlrFunc7, "GAPROOT/lib/methsel1.g:HdlrFunc7(-44567931)" );
5420
InitGlobalBag( &(NameFunc[7]), "GAPROOT/lib/methsel1.g:NameFunc[7](-44567931)" );
5421
InitHandlerFunc( HdlrFunc8, "GAPROOT/lib/methsel1.g:HdlrFunc8(-44567931)" );
5422
InitGlobalBag( &(NameFunc[8]), "GAPROOT/lib/methsel1.g:NameFunc[8](-44567931)" );
5423
InitHandlerFunc( HdlrFunc9, "GAPROOT/lib/methsel1.g:HdlrFunc9(-44567931)" );
5424
InitGlobalBag( &(NameFunc[9]), "GAPROOT/lib/methsel1.g:NameFunc[9](-44567931)" );
5425
InitHandlerFunc( HdlrFunc10, "GAPROOT/lib/methsel1.g:HdlrFunc10(-44567931)" );
5426
InitGlobalBag( &(NameFunc[10]), "GAPROOT/lib/methsel1.g:NameFunc[10](-44567931)" );
5427
InitHandlerFunc( HdlrFunc11, "GAPROOT/lib/methsel1.g:HdlrFunc11(-44567931)" );
5428
InitGlobalBag( &(NameFunc[11]), "GAPROOT/lib/methsel1.g:NameFunc[11](-44567931)" );
5429
InitHandlerFunc( HdlrFunc12, "GAPROOT/lib/methsel1.g:HdlrFunc12(-44567931)" );
5430
InitGlobalBag( &(NameFunc[12]), "GAPROOT/lib/methsel1.g:NameFunc[12](-44567931)" );
5431
InitHandlerFunc( HdlrFunc13, "GAPROOT/lib/methsel1.g:HdlrFunc13(-44567931)" );
5432
InitGlobalBag( &(NameFunc[13]), "GAPROOT/lib/methsel1.g:NameFunc[13](-44567931)" );
5433
InitHandlerFunc( HdlrFunc14, "GAPROOT/lib/methsel1.g:HdlrFunc14(-44567931)" );
5434
InitGlobalBag( &(NameFunc[14]), "GAPROOT/lib/methsel1.g:NameFunc[14](-44567931)" );
5435
InitHandlerFunc( HdlrFunc15, "GAPROOT/lib/methsel1.g:HdlrFunc15(-44567931)" );
5436
InitGlobalBag( &(NameFunc[15]), "GAPROOT/lib/methsel1.g:NameFunc[15](-44567931)" );
5437
InitHandlerFunc( HdlrFunc16, "GAPROOT/lib/methsel1.g:HdlrFunc16(-44567931)" );
5438
InitGlobalBag( &(NameFunc[16]), "GAPROOT/lib/methsel1.g:NameFunc[16](-44567931)" );
5439
InitHandlerFunc( HdlrFunc17, "GAPROOT/lib/methsel1.g:HdlrFunc17(-44567931)" );
5440
InitGlobalBag( &(NameFunc[17]), "GAPROOT/lib/methsel1.g:NameFunc[17](-44567931)" );
5441
InitHandlerFunc( HdlrFunc18, "GAPROOT/lib/methsel1.g:HdlrFunc18(-44567931)" );
5442
InitGlobalBag( &(NameFunc[18]), "GAPROOT/lib/methsel1.g:NameFunc[18](-44567931)" );
5443
InitHandlerFunc( HdlrFunc19, "GAPROOT/lib/methsel1.g:HdlrFunc19(-44567931)" );
5444
InitGlobalBag( &(NameFunc[19]), "GAPROOT/lib/methsel1.g:NameFunc[19](-44567931)" );
5445
InitHandlerFunc( HdlrFunc20, "GAPROOT/lib/methsel1.g:HdlrFunc20(-44567931)" );
5446
InitGlobalBag( &(NameFunc[20]), "GAPROOT/lib/methsel1.g:NameFunc[20](-44567931)" );
5447
InitHandlerFunc( HdlrFunc21, "GAPROOT/lib/methsel1.g:HdlrFunc21(-44567931)" );
5448
InitGlobalBag( &(NameFunc[21]), "GAPROOT/lib/methsel1.g:NameFunc[21](-44567931)" );
5449
InitHandlerFunc( HdlrFunc22, "GAPROOT/lib/methsel1.g:HdlrFunc22(-44567931)" );
5450
InitGlobalBag( &(NameFunc[22]), "GAPROOT/lib/methsel1.g:NameFunc[22](-44567931)" );
5451
InitHandlerFunc( HdlrFunc23, "GAPROOT/lib/methsel1.g:HdlrFunc23(-44567931)" );
5452
InitGlobalBag( &(NameFunc[23]), "GAPROOT/lib/methsel1.g:NameFunc[23](-44567931)" );
5453
InitHandlerFunc( HdlrFunc24, "GAPROOT/lib/methsel1.g:HdlrFunc24(-44567931)" );
5454
InitGlobalBag( &(NameFunc[24]), "GAPROOT/lib/methsel1.g:NameFunc[24](-44567931)" );
5455
InitHandlerFunc( HdlrFunc25, "GAPROOT/lib/methsel1.g:HdlrFunc25(-44567931)" );
5456
InitGlobalBag( &(NameFunc[25]), "GAPROOT/lib/methsel1.g:NameFunc[25](-44567931)" );
5457
InitHandlerFunc( HdlrFunc26, "GAPROOT/lib/methsel1.g:HdlrFunc26(-44567931)" );
5458
InitGlobalBag( &(NameFunc[26]), "GAPROOT/lib/methsel1.g:NameFunc[26](-44567931)" );
5459
InitHandlerFunc( HdlrFunc27, "GAPROOT/lib/methsel1.g:HdlrFunc27(-44567931)" );
5460
InitGlobalBag( &(NameFunc[27]), "GAPROOT/lib/methsel1.g:NameFunc[27](-44567931)" );
5461
InitHandlerFunc( HdlrFunc28, "GAPROOT/lib/methsel1.g:HdlrFunc28(-44567931)" );
5462
InitGlobalBag( &(NameFunc[28]), "GAPROOT/lib/methsel1.g:NameFunc[28](-44567931)" );
5463
InitHandlerFunc( HdlrFunc29, "GAPROOT/lib/methsel1.g:HdlrFunc29(-44567931)" );
5464
InitGlobalBag( &(NameFunc[29]), "GAPROOT/lib/methsel1.g:NameFunc[29](-44567931)" );
5465
InitHandlerFunc( HdlrFunc30, "GAPROOT/lib/methsel1.g:HdlrFunc30(-44567931)" );
5466
InitGlobalBag( &(NameFunc[30]), "GAPROOT/lib/methsel1.g:NameFunc[30](-44567931)" );
5467
InitHandlerFunc( HdlrFunc31, "GAPROOT/lib/methsel1.g:HdlrFunc31(-44567931)" );
5468
InitGlobalBag( &(NameFunc[31]), "GAPROOT/lib/methsel1.g:NameFunc[31](-44567931)" );
5469
InitHandlerFunc( HdlrFunc32, "GAPROOT/lib/methsel1.g:HdlrFunc32(-44567931)" );
5470
InitGlobalBag( &(NameFunc[32]), "GAPROOT/lib/methsel1.g:NameFunc[32](-44567931)" );
5471
InitHandlerFunc( HdlrFunc33, "GAPROOT/lib/methsel1.g:HdlrFunc33(-44567931)" );
5472
InitGlobalBag( &(NameFunc[33]), "GAPROOT/lib/methsel1.g:NameFunc[33](-44567931)" );
5473
InitHandlerFunc( HdlrFunc34, "GAPROOT/lib/methsel1.g:HdlrFunc34(-44567931)" );
5474
InitGlobalBag( &(NameFunc[34]), "GAPROOT/lib/methsel1.g:NameFunc[34](-44567931)" );
5475
5476
/* return success */
5477
return 0;
5478
5479
}
5480
5481
/* 'InitLibrary' sets up gvars, rnams, functions */
5482
static Int InitLibrary ( StructInitInfo * module )
5483
{
5484
Obj func1;
5485
Obj body1;
5486
5487
/* Complete Copy/Fopy registration */
5488
UpdateCopyFopyInfo();
5489
5490
/* global variables used in handlers */
5491
G_METHOD__0ARGS = GVarName( "METHOD_0ARGS" );
5492
G_METHOD__1ARGS = GVarName( "METHOD_1ARGS" );
5493
G_METHOD__2ARGS = GVarName( "METHOD_2ARGS" );
5494
G_METHOD__3ARGS = GVarName( "METHOD_3ARGS" );
5495
G_METHOD__4ARGS = GVarName( "METHOD_4ARGS" );
5496
G_METHOD__5ARGS = GVarName( "METHOD_5ARGS" );
5497
G_METHOD__6ARGS = GVarName( "METHOD_6ARGS" );
5498
G_METHOD__XARGS = GVarName( "METHOD_XARGS" );
5499
G_NEXT__METHOD__0ARGS = GVarName( "NEXT_METHOD_0ARGS" );
5500
G_NEXT__METHOD__1ARGS = GVarName( "NEXT_METHOD_1ARGS" );
5501
G_NEXT__METHOD__2ARGS = GVarName( "NEXT_METHOD_2ARGS" );
5502
G_NEXT__METHOD__3ARGS = GVarName( "NEXT_METHOD_3ARGS" );
5503
G_NEXT__METHOD__4ARGS = GVarName( "NEXT_METHOD_4ARGS" );
5504
G_NEXT__METHOD__5ARGS = GVarName( "NEXT_METHOD_5ARGS" );
5505
G_NEXT__METHOD__6ARGS = GVarName( "NEXT_METHOD_6ARGS" );
5506
G_NEXT__METHOD__XARGS = GVarName( "NEXT_METHOD_XARGS" );
5507
G_CONSTRUCTOR__0ARGS = GVarName( "CONSTRUCTOR_0ARGS" );
5508
G_CONSTRUCTOR__1ARGS = GVarName( "CONSTRUCTOR_1ARGS" );
5509
G_CONSTRUCTOR__2ARGS = GVarName( "CONSTRUCTOR_2ARGS" );
5510
G_CONSTRUCTOR__3ARGS = GVarName( "CONSTRUCTOR_3ARGS" );
5511
G_CONSTRUCTOR__4ARGS = GVarName( "CONSTRUCTOR_4ARGS" );
5512
G_CONSTRUCTOR__5ARGS = GVarName( "CONSTRUCTOR_5ARGS" );
5513
G_CONSTRUCTOR__6ARGS = GVarName( "CONSTRUCTOR_6ARGS" );
5514
G_CONSTRUCTOR__XARGS = GVarName( "CONSTRUCTOR_XARGS" );
5515
G_NEXT__CONSTRUCTOR__0ARGS = GVarName( "NEXT_CONSTRUCTOR_0ARGS" );
5516
G_NEXT__CONSTRUCTOR__1ARGS = GVarName( "NEXT_CONSTRUCTOR_1ARGS" );
5517
G_NEXT__CONSTRUCTOR__2ARGS = GVarName( "NEXT_CONSTRUCTOR_2ARGS" );
5518
G_NEXT__CONSTRUCTOR__3ARGS = GVarName( "NEXT_CONSTRUCTOR_3ARGS" );
5519
G_NEXT__CONSTRUCTOR__4ARGS = GVarName( "NEXT_CONSTRUCTOR_4ARGS" );
5520
G_NEXT__CONSTRUCTOR__5ARGS = GVarName( "NEXT_CONSTRUCTOR_5ARGS" );
5521
G_NEXT__CONSTRUCTOR__6ARGS = GVarName( "NEXT_CONSTRUCTOR_6ARGS" );
5522
G_NEXT__CONSTRUCTOR__XARGS = GVarName( "NEXT_CONSTRUCTOR_XARGS" );
5523
G_Error = GVarName( "Error" );
5524
G_IS__IDENTICAL__OBJ = GVarName( "IS_IDENTICAL_OBJ" );
5525
G_TRY__NEXT__METHOD = GVarName( "TRY_NEXT_METHOD" );
5526
G_IS__SUBSET__FLAGS = GVarName( "IS_SUBSET_FLAGS" );
5527
G_METHODS__OPERATION = GVarName( "METHODS_OPERATION" );
5528
G_fail = GVarName( "fail" );
5529
G_LEN__LIST = GVarName( "LEN_LIST" );
5530
G_AttributeValueNotSet = GVarName( "AttributeValueNotSet" );
5531
G_TypeObj = GVarName( "TypeObj" );
5532
G_FamilyObj = GVarName( "FamilyObj" );
5533
5534
/* record names used in handlers */
5535
5536
/* information for the functions */
5537
C_NEW_STRING( DefaultName, 14, "local function" );
5538
C_NEW_STRING( FileName, 22, "GAPROOT/lib/methsel1.g" );
5539
NameFunc[1] = DefaultName;
5540
NamsFunc[1] = 0;
5541
NargFunc[1] = 0;
5542
NameFunc[2] = DefaultName;
5543
NamsFunc[2] = 0;
5544
NargFunc[2] = 1;
5545
NameFunc[3] = DefaultName;
5546
NamsFunc[3] = 0;
5547
NargFunc[3] = 2;
5548
NameFunc[4] = DefaultName;
5549
NamsFunc[4] = 0;
5550
NargFunc[4] = 3;
5551
NameFunc[5] = DefaultName;
5552
NamsFunc[5] = 0;
5553
NargFunc[5] = 4;
5554
NameFunc[6] = DefaultName;
5555
NamsFunc[6] = 0;
5556
NargFunc[6] = 5;
5557
NameFunc[7] = DefaultName;
5558
NamsFunc[7] = 0;
5559
NargFunc[7] = 6;
5560
NameFunc[8] = DefaultName;
5561
NamsFunc[8] = 0;
5562
NargFunc[8] = 7;
5563
NameFunc[9] = DefaultName;
5564
NamsFunc[9] = 0;
5565
NargFunc[9] = -1;
5566
NameFunc[10] = DefaultName;
5567
NamsFunc[10] = 0;
5568
NargFunc[10] = 2;
5569
NameFunc[11] = DefaultName;
5570
NamsFunc[11] = 0;
5571
NargFunc[11] = 3;
5572
NameFunc[12] = DefaultName;
5573
NamsFunc[12] = 0;
5574
NargFunc[12] = 4;
5575
NameFunc[13] = DefaultName;
5576
NamsFunc[13] = 0;
5577
NargFunc[13] = 5;
5578
NameFunc[14] = DefaultName;
5579
NamsFunc[14] = 0;
5580
NargFunc[14] = 6;
5581
NameFunc[15] = DefaultName;
5582
NamsFunc[15] = 0;
5583
NargFunc[15] = 7;
5584
NameFunc[16] = DefaultName;
5585
NamsFunc[16] = 0;
5586
NargFunc[16] = 8;
5587
NameFunc[17] = DefaultName;
5588
NamsFunc[17] = 0;
5589
NargFunc[17] = -1;
5590
NameFunc[18] = DefaultName;
5591
NamsFunc[18] = 0;
5592
NargFunc[18] = 2;
5593
NameFunc[19] = DefaultName;
5594
NamsFunc[19] = 0;
5595
NargFunc[19] = 1;
5596
NameFunc[20] = DefaultName;
5597
NamsFunc[20] = 0;
5598
NargFunc[20] = 2;
5599
NameFunc[21] = DefaultName;
5600
NamsFunc[21] = 0;
5601
NargFunc[21] = 3;
5602
NameFunc[22] = DefaultName;
5603
NamsFunc[22] = 0;
5604
NargFunc[22] = 4;
5605
NameFunc[23] = DefaultName;
5606
NamsFunc[23] = 0;
5607
NargFunc[23] = 5;
5608
NameFunc[24] = DefaultName;
5609
NamsFunc[24] = 0;
5610
NargFunc[24] = 6;
5611
NameFunc[25] = DefaultName;
5612
NamsFunc[25] = 0;
5613
NargFunc[25] = 7;
5614
NameFunc[26] = DefaultName;
5615
NamsFunc[26] = 0;
5616
NargFunc[26] = -1;
5617
NameFunc[27] = DefaultName;
5618
NamsFunc[27] = 0;
5619
NargFunc[27] = 2;
5620
NameFunc[28] = DefaultName;
5621
NamsFunc[28] = 0;
5622
NargFunc[28] = 3;
5623
NameFunc[29] = DefaultName;
5624
NamsFunc[29] = 0;
5625
NargFunc[29] = 4;
5626
NameFunc[30] = DefaultName;
5627
NamsFunc[30] = 0;
5628
NargFunc[30] = 5;
5629
NameFunc[31] = DefaultName;
5630
NamsFunc[31] = 0;
5631
NargFunc[31] = 6;
5632
NameFunc[32] = DefaultName;
5633
NamsFunc[32] = 0;
5634
NargFunc[32] = 7;
5635
NameFunc[33] = DefaultName;
5636
NamsFunc[33] = 0;
5637
NargFunc[33] = 8;
5638
NameFunc[34] = DefaultName;
5639
NamsFunc[34] = 0;
5640
NargFunc[34] = -1;
5641
5642
/* create all the functions defined in this module */
5643
func1 = NewFunction(NameFunc[1],NargFunc[1],NamsFunc[1],HdlrFunc1);
5644
ENVI_FUNC( func1 ) = TLS(CurrLVars);
5645
CHANGED_BAG( TLS(CurrLVars) );
5646
body1 = NewBag( T_BODY, NUMBER_HEADER_ITEMS_BODY*sizeof(Obj));
5647
BODY_FUNC( func1 ) = body1;
5648
CHANGED_BAG( func1 );
5649
CALL_0ARGS( func1 );
5650
5651
/* return success */
5652
return 0;
5653
5654
}
5655
5656
/* 'PostRestore' restore gvars, rnams, functions */
5657
static Int PostRestore ( StructInitInfo * module )
5658
{
5659
5660
/* global variables used in handlers */
5661
G_METHOD__0ARGS = GVarName( "METHOD_0ARGS" );
5662
G_METHOD__1ARGS = GVarName( "METHOD_1ARGS" );
5663
G_METHOD__2ARGS = GVarName( "METHOD_2ARGS" );
5664
G_METHOD__3ARGS = GVarName( "METHOD_3ARGS" );
5665
G_METHOD__4ARGS = GVarName( "METHOD_4ARGS" );
5666
G_METHOD__5ARGS = GVarName( "METHOD_5ARGS" );
5667
G_METHOD__6ARGS = GVarName( "METHOD_6ARGS" );
5668
G_METHOD__XARGS = GVarName( "METHOD_XARGS" );
5669
G_NEXT__METHOD__0ARGS = GVarName( "NEXT_METHOD_0ARGS" );
5670
G_NEXT__METHOD__1ARGS = GVarName( "NEXT_METHOD_1ARGS" );
5671
G_NEXT__METHOD__2ARGS = GVarName( "NEXT_METHOD_2ARGS" );
5672
G_NEXT__METHOD__3ARGS = GVarName( "NEXT_METHOD_3ARGS" );
5673
G_NEXT__METHOD__4ARGS = GVarName( "NEXT_METHOD_4ARGS" );
5674
G_NEXT__METHOD__5ARGS = GVarName( "NEXT_METHOD_5ARGS" );
5675
G_NEXT__METHOD__6ARGS = GVarName( "NEXT_METHOD_6ARGS" );
5676
G_NEXT__METHOD__XARGS = GVarName( "NEXT_METHOD_XARGS" );
5677
G_CONSTRUCTOR__0ARGS = GVarName( "CONSTRUCTOR_0ARGS" );
5678
G_CONSTRUCTOR__1ARGS = GVarName( "CONSTRUCTOR_1ARGS" );
5679
G_CONSTRUCTOR__2ARGS = GVarName( "CONSTRUCTOR_2ARGS" );
5680
G_CONSTRUCTOR__3ARGS = GVarName( "CONSTRUCTOR_3ARGS" );
5681
G_CONSTRUCTOR__4ARGS = GVarName( "CONSTRUCTOR_4ARGS" );
5682
G_CONSTRUCTOR__5ARGS = GVarName( "CONSTRUCTOR_5ARGS" );
5683
G_CONSTRUCTOR__6ARGS = GVarName( "CONSTRUCTOR_6ARGS" );
5684
G_CONSTRUCTOR__XARGS = GVarName( "CONSTRUCTOR_XARGS" );
5685
G_NEXT__CONSTRUCTOR__0ARGS = GVarName( "NEXT_CONSTRUCTOR_0ARGS" );
5686
G_NEXT__CONSTRUCTOR__1ARGS = GVarName( "NEXT_CONSTRUCTOR_1ARGS" );
5687
G_NEXT__CONSTRUCTOR__2ARGS = GVarName( "NEXT_CONSTRUCTOR_2ARGS" );
5688
G_NEXT__CONSTRUCTOR__3ARGS = GVarName( "NEXT_CONSTRUCTOR_3ARGS" );
5689
G_NEXT__CONSTRUCTOR__4ARGS = GVarName( "NEXT_CONSTRUCTOR_4ARGS" );
5690
G_NEXT__CONSTRUCTOR__5ARGS = GVarName( "NEXT_CONSTRUCTOR_5ARGS" );
5691
G_NEXT__CONSTRUCTOR__6ARGS = GVarName( "NEXT_CONSTRUCTOR_6ARGS" );
5692
G_NEXT__CONSTRUCTOR__XARGS = GVarName( "NEXT_CONSTRUCTOR_XARGS" );
5693
G_Error = GVarName( "Error" );
5694
G_IS__IDENTICAL__OBJ = GVarName( "IS_IDENTICAL_OBJ" );
5695
G_TRY__NEXT__METHOD = GVarName( "TRY_NEXT_METHOD" );
5696
G_IS__SUBSET__FLAGS = GVarName( "IS_SUBSET_FLAGS" );
5697
G_METHODS__OPERATION = GVarName( "METHODS_OPERATION" );
5698
G_fail = GVarName( "fail" );
5699
G_LEN__LIST = GVarName( "LEN_LIST" );
5700
G_AttributeValueNotSet = GVarName( "AttributeValueNotSet" );
5701
G_TypeObj = GVarName( "TypeObj" );
5702
G_FamilyObj = GVarName( "FamilyObj" );
5703
5704
/* record names used in handlers */
5705
5706
/* information for the functions */
5707
NameFunc[1] = DefaultName;
5708
NamsFunc[1] = 0;
5709
NargFunc[1] = 0;
5710
NameFunc[2] = DefaultName;
5711
NamsFunc[2] = 0;
5712
NargFunc[2] = 1;
5713
NameFunc[3] = DefaultName;
5714
NamsFunc[3] = 0;
5715
NargFunc[3] = 2;
5716
NameFunc[4] = DefaultName;
5717
NamsFunc[4] = 0;
5718
NargFunc[4] = 3;
5719
NameFunc[5] = DefaultName;
5720
NamsFunc[5] = 0;
5721
NargFunc[5] = 4;
5722
NameFunc[6] = DefaultName;
5723
NamsFunc[6] = 0;
5724
NargFunc[6] = 5;
5725
NameFunc[7] = DefaultName;
5726
NamsFunc[7] = 0;
5727
NargFunc[7] = 6;
5728
NameFunc[8] = DefaultName;
5729
NamsFunc[8] = 0;
5730
NargFunc[8] = 7;
5731
NameFunc[9] = DefaultName;
5732
NamsFunc[9] = 0;
5733
NargFunc[9] = -1;
5734
NameFunc[10] = DefaultName;
5735
NamsFunc[10] = 0;
5736
NargFunc[10] = 2;
5737
NameFunc[11] = DefaultName;
5738
NamsFunc[11] = 0;
5739
NargFunc[11] = 3;
5740
NameFunc[12] = DefaultName;
5741
NamsFunc[12] = 0;
5742
NargFunc[12] = 4;
5743
NameFunc[13] = DefaultName;
5744
NamsFunc[13] = 0;
5745
NargFunc[13] = 5;
5746
NameFunc[14] = DefaultName;
5747
NamsFunc[14] = 0;
5748
NargFunc[14] = 6;
5749
NameFunc[15] = DefaultName;
5750
NamsFunc[15] = 0;
5751
NargFunc[15] = 7;
5752
NameFunc[16] = DefaultName;
5753
NamsFunc[16] = 0;
5754
NargFunc[16] = 8;
5755
NameFunc[17] = DefaultName;
5756
NamsFunc[17] = 0;
5757
NargFunc[17] = -1;
5758
NameFunc[18] = DefaultName;
5759
NamsFunc[18] = 0;
5760
NargFunc[18] = 2;
5761
NameFunc[19] = DefaultName;
5762
NamsFunc[19] = 0;
5763
NargFunc[19] = 1;
5764
NameFunc[20] = DefaultName;
5765
NamsFunc[20] = 0;
5766
NargFunc[20] = 2;
5767
NameFunc[21] = DefaultName;
5768
NamsFunc[21] = 0;
5769
NargFunc[21] = 3;
5770
NameFunc[22] = DefaultName;
5771
NamsFunc[22] = 0;
5772
NargFunc[22] = 4;
5773
NameFunc[23] = DefaultName;
5774
NamsFunc[23] = 0;
5775
NargFunc[23] = 5;
5776
NameFunc[24] = DefaultName;
5777
NamsFunc[24] = 0;
5778
NargFunc[24] = 6;
5779
NameFunc[25] = DefaultName;
5780
NamsFunc[25] = 0;
5781
NargFunc[25] = 7;
5782
NameFunc[26] = DefaultName;
5783
NamsFunc[26] = 0;
5784
NargFunc[26] = -1;
5785
NameFunc[27] = DefaultName;
5786
NamsFunc[27] = 0;
5787
NargFunc[27] = 2;
5788
NameFunc[28] = DefaultName;
5789
NamsFunc[28] = 0;
5790
NargFunc[28] = 3;
5791
NameFunc[29] = DefaultName;
5792
NamsFunc[29] = 0;
5793
NargFunc[29] = 4;
5794
NameFunc[30] = DefaultName;
5795
NamsFunc[30] = 0;
5796
NargFunc[30] = 5;
5797
NameFunc[31] = DefaultName;
5798
NamsFunc[31] = 0;
5799
NargFunc[31] = 6;
5800
NameFunc[32] = DefaultName;
5801
NamsFunc[32] = 0;
5802
NargFunc[32] = 7;
5803
NameFunc[33] = DefaultName;
5804
NamsFunc[33] = 0;
5805
NargFunc[33] = 8;
5806
NameFunc[34] = DefaultName;
5807
NamsFunc[34] = 0;
5808
NargFunc[34] = -1;
5809
5810
/* return success */
5811
return 0;
5812
5813
}
5814
5815
5816
/* <name> returns the description of this module */
5817
static StructInitInfo module = {
5818
/* type = */ 2,
5819
/* name = */ "GAPROOT/lib/methsel1.g",
5820
/* revision_c = */ 0,
5821
/* revision_h = */ 0,
5822
/* version = */ 0,
5823
/* crc = */ -44567931,
5824
/* initKernel = */ InitKernel,
5825
/* initLibrary = */ InitLibrary,
5826
/* checkInit = */ 0,
5827
/* preSave = */ 0,
5828
/* postSave = */ 0,
5829
/* postRestore = */ PostRestore
5830
};
5831
5832
StructInitInfo * Init__methsel1 ( void )
5833
{
5834
return &module;
5835
}
5836
5837
/* compiled code ends here */
5838
#endif
5839
5840