1 /* This C file is generated by NIT to compile module kernel. */
2 #include "kernel._sep.h"
3 val_t
kernel___Object___object_id(val_t self
) {
4 struct trace_t trace
= {NULL
, LOCATE_kernel
, 26, LOCATE_kernel___Object___object_id
};
5 trace
.prev
= tracehead
; tracehead
= &trace
;
6 tracehead
= trace
.prev
;
7 return TAG_Int((bigint
) self
);
9 val_t
kernel___Object___is_same_type(val_t self
, val_t param0
) {
10 struct trace_t trace
= {NULL
, LOCATE_kernel
, 29, LOCATE_kernel___Object___is_same_type
};
11 trace
.prev
= tracehead
; tracehead
= &trace
;
12 tracehead
= trace
.prev
;
13 return TAG_Bool((VAL2VFT( self
)==VAL2VFT( param0
)));
15 val_t
kernel___Object_____eqeq(val_t self
, val_t param0
) {
16 struct trace_t trace
= {NULL
, LOCATE_kernel
, 32, LOCATE_kernel___Object_____eqeq
};
19 trace
.prev
= tracehead
; tracehead
= &trace
;
21 variable1
= TAG_Bool(IS_EQUAL_NN( self
, variable0
/*other*/));
23 return_label0
: while(false);
24 tracehead
= trace
.prev
;
27 val_t
kernel___Object_____neq(val_t self
, val_t param0
) {
28 struct trace_t trace
= {NULL
, LOCATE_kernel
, 37, LOCATE_kernel___Object_____neq
};
31 trace
.prev
= tracehead
; tracehead
= &trace
;
33 variable1
= TAG_Bool(( self
== variable0
/*other*/) || (( self
!= NIT_NULL
) && ((((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))==kernel___Object_____eqeq
)?
(IS_EQUAL_NN( self
, variable0
/*other*/)):(UNTAG_Bool(((kernel___Object_____eqeq_t
)CALL( self
,COLOR_kernel___Object_____eqeq
))( self
, variable0
/*other*/) /*Object::==*/)))));
34 variable1
= TAG_Bool(!UNTAG_Bool(variable1
));
36 return_label1
: while(false);
37 tracehead
= trace
.prev
;
40 void kernel___Object___output(val_t self
) {
41 struct trace_t trace
= {NULL
, LOCATE_kernel
, 42, LOCATE_kernel___Object___output
};
43 trace
.prev
= tracehead
; tracehead
= &trace
;
44 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('<')));
45 variable0
= TAG_Int((bigint
) self
);
46 printf("%d\n", UNTAG_Int(variable0
));
47 printf("%c", (unsigned char)UNTAG_Char( TAG_Char('>')));
48 tracehead
= trace
.prev
;
51 void kernel___Object___exit(val_t self
, val_t param0
) {
52 struct trace_t trace
= {NULL
, LOCATE_kernel
, 50, LOCATE_kernel___Object___exit
};
53 trace
.prev
= tracehead
; tracehead
= &trace
;
54 exit(UNTAG_Int( param0
));
55 tracehead
= trace
.prev
;
58 val_t
kernel___Object___sys(val_t self
) {
59 struct trace_t trace
= {NULL
, LOCATE_kernel
, 51, LOCATE_kernel___Object___sys
};
60 trace
.prev
= tracehead
; tracehead
= &trace
;
61 tracehead
= trace
.prev
;
64 void kernel___Sys___main(val_t self
) {
65 struct trace_t trace
= {NULL
, LOCATE_kernel
, 56, LOCATE_kernel___Sys___main
};
66 trace
.prev
= tracehead
; tracehead
= &trace
;
67 tracehead
= trace
.prev
;
70 val_t
kernel___Comparable_____l(val_t self
, val_t param0
) {
71 struct trace_t trace
= {NULL
, LOCATE_kernel
, 69, LOCATE_kernel___Comparable_____l
};
72 trace
.prev
= tracehead
; tracehead
= &trace
;
73 fprintf(stderr
, "Deferred method %s called");
74 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_kernel___Sys___main
, LOCATE_kernel
, 69);
76 tracehead
= trace
.prev
;
79 val_t
kernel___Comparable_____leq(val_t self
, val_t param0
) {
80 struct trace_t trace
= {NULL
, LOCATE_kernel
, 72, LOCATE_kernel___Comparable_____leq
};
83 trace
.prev
= tracehead
; tracehead
= &trace
;
85 variable1
= ((kernel___Comparable_____l_t
)CALL( variable0
/*other*/,COLOR_kernel___Comparable_____l
))( variable0
/*other*/, self
) /*Comparable::<*/;
86 variable1
= TAG_Bool(!UNTAG_Bool(variable1
));
88 return_label4
: while(false);
89 tracehead
= trace
.prev
;
92 val_t
kernel___Comparable_____geq(val_t self
, val_t param0
) {
93 struct trace_t trace
= {NULL
, LOCATE_kernel
, 75, LOCATE_kernel___Comparable_____geq
};
96 trace
.prev
= tracehead
; tracehead
= &trace
;
98 variable1
= ((kernel___Comparable_____l_t
)CALL( self
,COLOR_kernel___Comparable_____l
))( self
, variable0
/*other*/) /*Comparable::<*/;
99 variable1
= TAG_Bool(!UNTAG_Bool(variable1
));
101 return_label5
: while(false);
102 tracehead
= trace
.prev
;
105 val_t
kernel___Comparable_____g(val_t self
, val_t param0
) {
106 struct trace_t trace
= {NULL
, LOCATE_kernel
, 78, LOCATE_kernel___Comparable_____g
};
109 trace
.prev
= tracehead
; tracehead
= &trace
;
111 variable1
= ((kernel___Comparable_____l_t
)CALL( variable0
/*other*/,COLOR_kernel___Comparable_____l
))( variable0
/*other*/, self
) /*Comparable::<*/;
113 return_label6
: while(false);
114 tracehead
= trace
.prev
;
117 val_t
kernel___Comparable_____leqg(val_t self
, val_t param0
) {
118 struct trace_t trace
= {NULL
, LOCATE_kernel
, 81, LOCATE_kernel___Comparable_____leqg
};
121 trace
.prev
= tracehead
; tracehead
= &trace
;
123 variable1
= ((kernel___Comparable_____l_t
)CALL( self
,COLOR_kernel___Comparable_____l
))( self
, variable0
/*other*/) /*Comparable::<*/;
124 if (UNTAG_Bool(variable1
)) { /*if*/
125 variable1
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
128 variable1
= ((kernel___Comparable_____l_t
)CALL( variable0
/*other*/,COLOR_kernel___Comparable_____l
))( variable0
/*other*/, self
) /*Comparable::<*/;
129 if (UNTAG_Bool(variable1
)) { /*if*/
130 variable1
= TAG_Int(1);
133 variable1
= TAG_Int(0);
137 return_label7
: while(false);
138 tracehead
= trace
.prev
;
141 val_t
kernel___Comparable___is_between(val_t self
, val_t param0
, val_t param1
) {
142 struct trace_t trace
= {NULL
, LOCATE_kernel
, 93, LOCATE_kernel___Comparable___is_between
};
147 trace
.prev
= tracehead
; tracehead
= &trace
;
150 variable2
= ((kernel___Comparable_____leq_t
)CALL( variable0
/*c*/,COLOR_kernel___Comparable_____leq
))( variable0
/*c*/, self
) /*Comparable::<=*/;
151 variable3
= variable2
;
152 if (UNTAG_Bool(variable3
)) { /* and */
153 variable3
= ((kernel___Comparable_____leq_t
)CALL( self
,COLOR_kernel___Comparable_____leq
))( self
, variable1
/*d*/) /*Comparable::<=*/;
155 variable2
= variable3
;
157 return_label8
: while(false);
158 tracehead
= trace
.prev
;
161 val_t
kernel___Comparable___max(val_t self
, val_t param0
) {
162 struct trace_t trace
= {NULL
, LOCATE_kernel
, 99, LOCATE_kernel___Comparable___max
};
165 trace
.prev
= tracehead
; tracehead
= &trace
;
167 variable1
= ((kernel___Comparable_____l_t
)CALL( self
,COLOR_kernel___Comparable_____l
))( self
, variable0
/*other*/) /*Comparable::<*/;
168 if (UNTAG_Bool(variable1
)) { /*if*/
169 variable1
= variable0
/*other*/;
175 return_label9
: while(false);
176 tracehead
= trace
.prev
;
179 val_t
kernel___Comparable___min(val_t self
, val_t param0
) {
180 struct trace_t trace
= {NULL
, LOCATE_kernel
, 109, LOCATE_kernel___Comparable___min
};
183 trace
.prev
= tracehead
; tracehead
= &trace
;
185 variable1
= ((kernel___Comparable_____l_t
)CALL( variable0
/*c*/,COLOR_kernel___Comparable_____l
))( variable0
/*c*/, self
) /*Comparable::<*/;
186 if (UNTAG_Bool(variable1
)) { /*if*/
187 variable1
= variable0
/*c*/;
193 return_label10
: while(false);
194 tracehead
= trace
.prev
;
197 val_t
kernel___Discrete___succ(val_t self
) {
198 struct trace_t trace
= {NULL
, LOCATE_kernel
, 126, LOCATE_kernel___Discrete___succ
};
200 trace
.prev
= tracehead
; tracehead
= &trace
;
201 variable0
= ((kernel___Discrete_____plus_t
)CALL( self
,COLOR_kernel___Discrete_____plus
))( self
, TAG_Int(1)) /*Discrete::+*/;
203 return_label11
: while(false);
204 tracehead
= trace
.prev
;
207 val_t
kernel___Discrete___prec(val_t self
) {
208 struct trace_t trace
= {NULL
, LOCATE_kernel
, 129, LOCATE_kernel___Discrete___prec
};
210 trace
.prev
= tracehead
; tracehead
= &trace
;
211 variable0
= ((kernel___Discrete_____minus_t
)CALL( self
,COLOR_kernel___Discrete_____minus
))( self
, TAG_Int(1)) /*Discrete::-*/;
213 return_label12
: while(false);
214 tracehead
= trace
.prev
;
217 val_t
kernel___Discrete_____plus(val_t self
, val_t param0
) {
218 struct trace_t trace
= {NULL
, LOCATE_kernel
, 132, LOCATE_kernel___Discrete_____plus
};
219 trace
.prev
= tracehead
; tracehead
= &trace
;
220 fprintf(stderr
, "Deferred method %s called");
221 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec
, LOCATE_kernel
, 132);
223 tracehead
= trace
.prev
;
226 val_t
kernel___Discrete_____minus(val_t self
, val_t param0
) {
227 struct trace_t trace
= {NULL
, LOCATE_kernel
, 135, LOCATE_kernel___Discrete_____minus
};
228 trace
.prev
= tracehead
; tracehead
= &trace
;
229 fprintf(stderr
, "Deferred method %s called");
230 fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_kernel___Discrete___prec
, LOCATE_kernel
, 135);
232 tracehead
= trace
.prev
;
235 val_t
kernel___Discrete___distance(val_t self
, val_t param0
) {
236 struct trace_t trace
= {NULL
, LOCATE_kernel
, 138, LOCATE_kernel___Discrete___distance
};
242 trace
.prev
= tracehead
; tracehead
= &trace
;
244 variable1
= NIT_NULL
/*decl variable cursor*/;
245 variable2
= NIT_NULL
/*decl variable stop*/;
246 variable3
= ((kernel___Comparable_____l_t
)CALL( self
,COLOR_kernel___Comparable_____l
))( self
, variable0
/*d*/) /*Comparable::<*/;
247 if (UNTAG_Bool(variable3
)) { /*if*/
248 variable1
= self
/*cursor=*/;
249 variable2
= variable0
/*d*/ /*stop=*/;
251 variable3
= ((kernel___Comparable_____g_t
)CALL( self
,COLOR_kernel___Comparable_____g
))( self
, variable0
/*d*/) /*Comparable::>*/;
252 if (UNTAG_Bool(variable3
)) { /*if*/
253 variable1
= variable0
/*d*/ /*cursor=*/;
254 variable2
= self
/*stop=*/;
256 variable1
= TAG_Int(0);
260 variable3
= TAG_Int(0);
261 while (true) { /*while*/
262 variable4
= ((kernel___Comparable_____l_t
)CALL( variable1
/*cursor*/,COLOR_kernel___Comparable_____l
))( variable1
/*cursor*/, variable2
/*stop*/) /*Comparable::<*/;
263 if (!UNTAG_Bool(variable4
)) break; /* while*/
264 variable4
= ((kernel___Discrete___succ_t
)CALL( variable1
/*cursor*/,COLOR_kernel___Discrete___succ
))( variable1
/*cursor*/) /*Discrete::succ*/;
265 variable1
= variable4
/*cursor=*/;
266 variable3
= TAG_Int(UNTAG_Int(variable3
)+UNTAG_Int( TAG_Int(1))) /*nb*/;
267 continue_14
: while(0);
270 variable1
= variable3
/*nb*/;
272 return_label13
: while(false);
273 tracehead
= trace
.prev
;
276 val_t
kernel___Bool___object_id(val_t self
) {
277 struct trace_t trace
= {NULL
, LOCATE_kernel
, 174, LOCATE_kernel___Bool___object_id
};
278 trace
.prev
= tracehead
; tracehead
= &trace
;
279 tracehead
= trace
.prev
;
280 return TAG_Int(UNTAG_Bool( self
));
282 val_t
kernel___Bool_____eqeq(val_t self
, val_t param0
) {
283 struct trace_t trace
= {NULL
, LOCATE_kernel
, 175, LOCATE_kernel___Bool_____eqeq
};
284 trace
.prev
= tracehead
; tracehead
= &trace
;
285 tracehead
= trace
.prev
;
286 return TAG_Bool(( self
)==( param0
));
288 val_t
kernel___Bool_____neq(val_t self
, val_t param0
) {
289 struct trace_t trace
= {NULL
, LOCATE_kernel
, 176, LOCATE_kernel___Bool_____neq
};
290 trace
.prev
= tracehead
; tracehead
= &trace
;
291 tracehead
= trace
.prev
;
292 return TAG_Bool(( self
)!=( param0
));
294 void kernel___Bool___output(val_t self
) {
295 struct trace_t trace
= {NULL
, LOCATE_kernel
, 177, LOCATE_kernel___Bool___output
};
296 trace
.prev
= tracehead
; tracehead
= &trace
;
297 (void)printf(UNTAG_Bool( self
)?
"true\n":"false\n");
298 tracehead
= trace
.prev
;
301 val_t
kernel___Float___object_id(val_t self
) {
302 struct trace_t trace
= {NULL
, LOCATE_kernel
, 183, LOCATE_kernel___Float___object_id
};
303 trace
.prev
= tracehead
; tracehead
= &trace
;
304 tracehead
= trace
.prev
;
305 return TAG_Int((bigint
)UNBOX_Float( self
));
307 void kernel___Float___output(val_t self
) {
308 struct trace_t trace
= {NULL
, LOCATE_kernel
, 184, LOCATE_kernel___Float___output
};
309 trace
.prev
= tracehead
; tracehead
= &trace
;
310 printf("%f\n", UNBOX_Float( self
));
311 tracehead
= trace
.prev
;
314 val_t
kernel___Float_____leq(val_t self
, val_t param0
) {
315 struct trace_t trace
= {NULL
, LOCATE_kernel
, 186, LOCATE_kernel___Float_____leq
};
316 trace
.prev
= tracehead
; tracehead
= &trace
;
317 tracehead
= trace
.prev
;
318 return TAG_Bool(UNBOX_Float( self
)<=UNBOX_Float( param0
));
320 val_t
kernel___Float_____l(val_t self
, val_t param0
) {
321 struct trace_t trace
= {NULL
, LOCATE_kernel
, 187, LOCATE_kernel___Float_____l
};
322 trace
.prev
= tracehead
; tracehead
= &trace
;
323 tracehead
= trace
.prev
;
324 return TAG_Bool(UNBOX_Float( self
)<UNBOX_Float( param0
));
326 val_t
kernel___Float_____geq(val_t self
, val_t param0
) {
327 struct trace_t trace
= {NULL
, LOCATE_kernel
, 188, LOCATE_kernel___Float_____geq
};
328 trace
.prev
= tracehead
; tracehead
= &trace
;
329 tracehead
= trace
.prev
;
330 return TAG_Bool(UNBOX_Float( self
)>=UNBOX_Float( param0
));
332 val_t
kernel___Float_____g(val_t self
, val_t param0
) {
333 struct trace_t trace
= {NULL
, LOCATE_kernel
, 189, LOCATE_kernel___Float_____g
};
334 trace
.prev
= tracehead
; tracehead
= &trace
;
335 tracehead
= trace
.prev
;
336 return TAG_Bool(UNBOX_Float( self
)>UNBOX_Float( param0
));
338 val_t
kernel___Float_____plus(val_t self
, val_t param0
) {
339 struct trace_t trace
= {NULL
, LOCATE_kernel
, 190, LOCATE_kernel___Float_____plus
};
340 trace
.prev
= tracehead
; tracehead
= &trace
;
341 tracehead
= trace
.prev
;
342 return BOX_Float(UNBOX_Float( self
)+UNBOX_Float( param0
));
344 val_t
kernel___Float___unary__minus(val_t self
) {
345 struct trace_t trace
= {NULL
, LOCATE_kernel
, 191, LOCATE_kernel___Float___unary__minus
};
346 trace
.prev
= tracehead
; tracehead
= &trace
;
347 tracehead
= trace
.prev
;
348 return BOX_Float(-UNBOX_Float( self
));
350 val_t
kernel___Float_____minus(val_t self
, val_t param0
) {
351 struct trace_t trace
= {NULL
, LOCATE_kernel
, 192, LOCATE_kernel___Float_____minus
};
352 trace
.prev
= tracehead
; tracehead
= &trace
;
353 tracehead
= trace
.prev
;
354 return BOX_Float(UNBOX_Float( self
)-UNBOX_Float( param0
));
356 val_t
kernel___Float_____star(val_t self
, val_t param0
) {
357 struct trace_t trace
= {NULL
, LOCATE_kernel
, 193, LOCATE_kernel___Float_____star
};
358 trace
.prev
= tracehead
; tracehead
= &trace
;
359 tracehead
= trace
.prev
;
360 return BOX_Float(UNBOX_Float( self
)*UNBOX_Float( param0
));
362 val_t
kernel___Float_____slash(val_t self
, val_t param0
) {
363 struct trace_t trace
= {NULL
, LOCATE_kernel
, 194, LOCATE_kernel___Float_____slash
};
364 trace
.prev
= tracehead
; tracehead
= &trace
;
365 tracehead
= trace
.prev
;
366 return BOX_Float(UNBOX_Float( self
)/UNBOX_Float( param0
));
368 val_t
kernel___Float___to_i(val_t self
) {
369 struct trace_t trace
= {NULL
, LOCATE_kernel
, 196, LOCATE_kernel___Float___to_i
};
370 trace
.prev
= tracehead
; tracehead
= &trace
;
371 tracehead
= trace
.prev
;
372 return TAG_Int((bigint
)UNBOX_Float( self
));
374 val_t
kernel___Int___object_id(val_t self
) {
375 struct trace_t trace
= {NULL
, LOCATE_kernel
, 206, LOCATE_kernel___Int___object_id
};
376 trace
.prev
= tracehead
; tracehead
= &trace
;
377 tracehead
= trace
.prev
;
380 val_t
kernel___Int_____eqeq(val_t self
, val_t param0
) {
381 struct trace_t trace
= {NULL
, LOCATE_kernel
, 207, LOCATE_kernel___Int_____eqeq
};
382 trace
.prev
= tracehead
; tracehead
= &trace
;
383 tracehead
= trace
.prev
;
384 return TAG_Bool(( self
)==( param0
));
386 val_t
kernel___Int_____neq(val_t self
, val_t param0
) {
387 struct trace_t trace
= {NULL
, LOCATE_kernel
, 208, LOCATE_kernel___Int_____neq
};
388 trace
.prev
= tracehead
; tracehead
= &trace
;
389 tracehead
= trace
.prev
;
390 return TAG_Bool(( self
)!=( param0
));
392 void kernel___Int___output(val_t self
) {
393 struct trace_t trace
= {NULL
, LOCATE_kernel
, 209, LOCATE_kernel___Int___output
};
394 trace
.prev
= tracehead
; tracehead
= &trace
;
395 printf("%d\n", UNTAG_Int( self
));
396 tracehead
= trace
.prev
;
399 val_t
kernel___Int_____leq(val_t self
, val_t param0
) {
400 struct trace_t trace
= {NULL
, LOCATE_kernel
, 211, LOCATE_kernel___Int_____leq
};
401 trace
.prev
= tracehead
; tracehead
= &trace
;
402 tracehead
= trace
.prev
;
403 return TAG_Bool(UNTAG_Int( self
)<=UNTAG_Int( param0
));
405 val_t
kernel___Int_____l(val_t self
, val_t param0
) {
406 struct trace_t trace
= {NULL
, LOCATE_kernel
, 212, LOCATE_kernel___Int_____l
};
407 trace
.prev
= tracehead
; tracehead
= &trace
;
408 tracehead
= trace
.prev
;
409 return TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( param0
));
411 val_t
kernel___Int_____geq(val_t self
, val_t param0
) {
412 struct trace_t trace
= {NULL
, LOCATE_kernel
, 213, LOCATE_kernel___Int_____geq
};
413 trace
.prev
= tracehead
; tracehead
= &trace
;
414 tracehead
= trace
.prev
;
415 return TAG_Bool(UNTAG_Int( self
)>=UNTAG_Int( param0
));
417 val_t
kernel___Int_____g(val_t self
, val_t param0
) {
418 struct trace_t trace
= {NULL
, LOCATE_kernel
, 214, LOCATE_kernel___Int_____g
};
419 trace
.prev
= tracehead
; tracehead
= &trace
;
420 tracehead
= trace
.prev
;
421 return TAG_Bool(UNTAG_Int( self
)>UNTAG_Int( param0
));
423 val_t
kernel___Int_____plus(val_t self
, val_t param0
) {
424 struct trace_t trace
= {NULL
, LOCATE_kernel
, 215, LOCATE_kernel___Int_____plus
};
425 trace
.prev
= tracehead
; tracehead
= &trace
;
426 tracehead
= trace
.prev
;
427 return TAG_Int(UNTAG_Int( self
)+UNTAG_Int( param0
));
429 val_t
kernel___Int___unary__minus(val_t self
) {
430 struct trace_t trace
= {NULL
, LOCATE_kernel
, 216, LOCATE_kernel___Int___unary__minus
};
431 trace
.prev
= tracehead
; tracehead
= &trace
;
432 tracehead
= trace
.prev
;
433 return TAG_Int(-UNTAG_Int( self
));
435 val_t
kernel___Int_____minus(val_t self
, val_t param0
) {
436 struct trace_t trace
= {NULL
, LOCATE_kernel
, 217, LOCATE_kernel___Int_____minus
};
437 trace
.prev
= tracehead
; tracehead
= &trace
;
438 tracehead
= trace
.prev
;
439 return TAG_Int(UNTAG_Int( self
)-UNTAG_Int( param0
));
441 val_t
kernel___Int_____star(val_t self
, val_t param0
) {
442 struct trace_t trace
= {NULL
, LOCATE_kernel
, 218, LOCATE_kernel___Int_____star
};
443 trace
.prev
= tracehead
; tracehead
= &trace
;
444 tracehead
= trace
.prev
;
445 return TAG_Int(UNTAG_Int( self
)*UNTAG_Int( param0
));
447 val_t
kernel___Int_____slash(val_t self
, val_t param0
) {
448 struct trace_t trace
= {NULL
, LOCATE_kernel
, 219, LOCATE_kernel___Int_____slash
};
449 trace
.prev
= tracehead
; tracehead
= &trace
;
450 tracehead
= trace
.prev
;
451 return TAG_Int(UNTAG_Int( self
)/UNTAG_Int( param0
));
453 val_t
kernel___Int_____percent(val_t self
, val_t param0
) {
454 struct trace_t trace
= {NULL
, LOCATE_kernel
, 220, LOCATE_kernel___Int_____percent
};
455 trace
.prev
= tracehead
; tracehead
= &trace
;
456 tracehead
= trace
.prev
;
457 return TAG_Int(UNTAG_Int( self
)%UNTAG_Int( param0
));
459 val_t
kernel___Int___lshift(val_t self
, val_t param0
) {
460 struct trace_t trace
= {NULL
, LOCATE_kernel
, 221, LOCATE_kernel___Int___lshift
};
461 trace
.prev
= tracehead
; tracehead
= &trace
;
462 tracehead
= trace
.prev
;
463 return TAG_Int(UNTAG_Int( self
)<<UNTAG_Int( param0
));
465 val_t
kernel___Int___rshift(val_t self
, val_t param0
) {
466 struct trace_t trace
= {NULL
, LOCATE_kernel
, 222, LOCATE_kernel___Int___rshift
};
467 trace
.prev
= tracehead
; tracehead
= &trace
;
468 tracehead
= trace
.prev
;
469 return TAG_Int(UNTAG_Int( self
)>>UNTAG_Int( param0
));
471 val_t
kernel___Int___to_f(val_t self
) {
472 struct trace_t trace
= {NULL
, LOCATE_kernel
, 224, LOCATE_kernel___Int___to_f
};
473 trace
.prev
= tracehead
; tracehead
= &trace
;
474 tracehead
= trace
.prev
;
475 return BOX_Float((float)UNTAG_Int( self
));
477 val_t
kernel___Int___succ(val_t self
) {
478 struct trace_t trace
= {NULL
, LOCATE_kernel
, 227, LOCATE_kernel___Int___succ
};
479 trace
.prev
= tracehead
; tracehead
= &trace
;
480 tracehead
= trace
.prev
;
481 return TAG_Int(UNTAG_Int( self
)+1);
483 val_t
kernel___Int___prec(val_t self
) {
484 struct trace_t trace
= {NULL
, LOCATE_kernel
, 228, LOCATE_kernel___Int___prec
};
485 trace
.prev
= tracehead
; tracehead
= &trace
;
486 tracehead
= trace
.prev
;
487 return TAG_Int(UNTAG_Int( self
)-1);
489 val_t
kernel___Int___distance(val_t self
, val_t param0
) {
490 struct trace_t trace
= {NULL
, LOCATE_kernel
, 229, LOCATE_kernel___Int___distance
};
494 trace
.prev
= tracehead
; tracehead
= &trace
;
496 variable2
= TAG_Int(UNTAG_Int( self
)-UNTAG_Int( variable0
/*i*/));
497 variable1
= variable2
;
498 variable2
= TAG_Bool(UNTAG_Int( variable1
/*d*/)>=UNTAG_Int( TAG_Int(0)));
499 if (UNTAG_Bool(variable2
)) { /*if*/
500 variable1
= variable1
/*d*/;
503 variable2
= TAG_Int(-UNTAG_Int( variable1
/*d*/));
504 variable1
= variable2
;
507 return_label15
: while(false);
508 tracehead
= trace
.prev
;
511 val_t
kernel___Int_____leqg(val_t self
, val_t param0
) {
512 struct trace_t trace
= {NULL
, LOCATE_kernel
, 239, LOCATE_kernel___Int_____leqg
};
515 trace
.prev
= tracehead
; tracehead
= &trace
;
517 variable1
= TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( variable0
/*other*/));
518 if (UNTAG_Bool(variable1
)) { /*if*/
519 variable1
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
522 variable1
= TAG_Bool(UNTAG_Int( variable0
/*other*/)<UNTAG_Int( self
));
523 if (UNTAG_Bool(variable1
)) { /*if*/
524 variable1
= TAG_Int(1);
527 variable1
= TAG_Int(0);
531 return_label16
: while(false);
532 tracehead
= trace
.prev
;
535 val_t
kernel___Int___is_between(val_t self
, val_t param0
, val_t param1
) {
536 struct trace_t trace
= {NULL
, LOCATE_kernel
, 250, LOCATE_kernel___Int___is_between
};
541 trace
.prev
= tracehead
; tracehead
= &trace
;
544 variable2
= TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( variable0
/*c*/));
545 variable3
= variable2
;
546 if (!UNTAG_Bool(variable3
)) { /* or */
547 variable3
= TAG_Bool(UNTAG_Int( variable1
/*d*/)<UNTAG_Int( self
));
549 variable2
= variable3
;
550 if (UNTAG_Bool(variable2
)) { /*if*/
551 variable2
= TAG_Bool(false);
554 variable2
= TAG_Bool(true);
557 return_label17
: while(false);
558 tracehead
= trace
.prev
;
561 val_t
kernel___Int___max(val_t self
, val_t param0
) {
562 struct trace_t trace
= {NULL
, LOCATE_kernel
, 259, LOCATE_kernel___Int___max
};
565 trace
.prev
= tracehead
; tracehead
= &trace
;
567 variable1
= TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( variable0
/*other*/));
568 if (UNTAG_Bool(variable1
)) { /*if*/
569 variable1
= variable0
/*other*/;
575 return_label18
: while(false);
576 tracehead
= trace
.prev
;
579 val_t
kernel___Int___min(val_t self
, val_t param0
) {
580 struct trace_t trace
= {NULL
, LOCATE_kernel
, 268, LOCATE_kernel___Int___min
};
583 trace
.prev
= tracehead
; tracehead
= &trace
;
585 variable1
= TAG_Bool(UNTAG_Int( variable0
/*c*/)<UNTAG_Int( self
));
586 if (UNTAG_Bool(variable1
)) { /*if*/
587 variable1
= variable0
/*c*/;
593 return_label19
: while(false);
594 tracehead
= trace
.prev
;
597 val_t
kernel___Int___ascii(val_t self
) {
598 struct trace_t trace
= {NULL
, LOCATE_kernel
, 277, LOCATE_kernel___Int___ascii
};
599 trace
.prev
= tracehead
; tracehead
= &trace
;
600 tracehead
= trace
.prev
;
601 return TAG_Char(UNTAG_Int( self
));
603 val_t
kernel___Int___digit_count(val_t self
, val_t param0
) {
604 struct trace_t trace
= {NULL
, LOCATE_kernel
, 280, LOCATE_kernel___Int___digit_count
};
609 trace
.prev
= tracehead
; tracehead
= &trace
;
611 variable1
= TAG_Int((bigint
)0) /*decl variable d*/;
612 variable2
= TAG_Int((bigint
)0) /*decl variable n*/;
613 variable3
= TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( TAG_Int(0)));
614 if (UNTAG_Bool(variable3
)) { /*if*/
615 variable1
= TAG_Int(1) /*d=*/;
616 variable3
= TAG_Int(-UNTAG_Int( self
));
617 variable2
= variable3
/*n=*/;
619 variable3
= TAG_Bool(( self
)==( TAG_Int(0)));
620 if (UNTAG_Bool(variable3
)) { /*if*/
621 variable1
= TAG_Int(1);
624 variable1
= TAG_Int(0) /*d=*/;
625 variable2
= self
/*n=*/;
628 while (true) { /*while*/
629 variable3
= TAG_Bool(UNTAG_Int( variable2
/*n*/)>UNTAG_Int( TAG_Int(0)));
630 if (!UNTAG_Bool(variable3
)) break; /* while*/
631 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(1))) /*d*/;
632 variable3
= TAG_Int(UNTAG_Int( variable2
/*n*/)/UNTAG_Int( variable0
/*b*/));
633 variable2
= variable3
/*n=*/;
634 continue_21
: while(0);
637 variable1
= variable1
/*d*/;
639 return_label20
: while(false);
640 tracehead
= trace
.prev
;
643 val_t
kernel___Int___to_c(val_t self
) {
644 struct trace_t trace
= {NULL
, LOCATE_kernel
, 303, LOCATE_kernel___Int___to_c
};
647 trace
.prev
= tracehead
; tracehead
= &trace
;
648 variable0
= TAG_Bool(UNTAG_Int( self
)>=UNTAG_Int( TAG_Int(0)));
649 variable1
= variable0
;
650 if (UNTAG_Bool(variable1
)) { /* and */
651 variable1
= TAG_Bool(UNTAG_Int( self
)<=UNTAG_Int( TAG_Int(36)));
653 variable0
= variable1
;
654 if (!UNTAG_Bool(variable0
)) { fprintf(stderr
, "Assert%s failed", ""); fprintf(stderr
, " in %s (%s:%d)\n", LOCATE_kernel___Int___to_c
, LOCATE_kernel
, 308); nit_exit(1);}
655 variable0
= TAG_Bool(UNTAG_Int( self
)<UNTAG_Int( TAG_Int(10)));
656 if (UNTAG_Bool(variable0
)) { /*if*/
657 variable0
= TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
658 variable0
= TAG_Int(UNTAG_Int( self
)+UNTAG_Int(variable0
));
659 variable0
= TAG_Char(UNTAG_Int(variable0
));
662 variable0
= TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
663 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int( TAG_Int(10)));
664 variable0
= TAG_Int(UNTAG_Int( self
)+UNTAG_Int(variable0
));
665 variable0
= TAG_Char(UNTAG_Int(variable0
));
668 return_label22
: while(false);
669 tracehead
= trace
.prev
;
672 val_t
kernel___Char___object_id(val_t self
) {
673 struct trace_t trace
= {NULL
, LOCATE_kernel
, 324, LOCATE_kernel___Char___object_id
};
674 trace
.prev
= tracehead
; tracehead
= &trace
;
675 tracehead
= trace
.prev
;
676 return TAG_Int(UNTAG_Char( self
));
678 val_t
kernel___Char_____eqeq(val_t self
, val_t param0
) {
679 struct trace_t trace
= {NULL
, LOCATE_kernel
, 325, LOCATE_kernel___Char_____eqeq
};
680 trace
.prev
= tracehead
; tracehead
= &trace
;
681 tracehead
= trace
.prev
;
682 return TAG_Bool(( self
)==( param0
));
684 val_t
kernel___Char_____neq(val_t self
, val_t param0
) {
685 struct trace_t trace
= {NULL
, LOCATE_kernel
, 326, LOCATE_kernel___Char_____neq
};
686 trace
.prev
= tracehead
; tracehead
= &trace
;
687 tracehead
= trace
.prev
;
688 return TAG_Bool(( self
)!=( param0
));
690 void kernel___Char___output(val_t self
) {
691 struct trace_t trace
= {NULL
, LOCATE_kernel
, 327, LOCATE_kernel___Char___output
};
692 trace
.prev
= tracehead
; tracehead
= &trace
;
693 printf("%c", (unsigned char)UNTAG_Char( self
));
694 tracehead
= trace
.prev
;
697 val_t
kernel___Char_____leq(val_t self
, val_t param0
) {
698 struct trace_t trace
= {NULL
, LOCATE_kernel
, 329, LOCATE_kernel___Char_____leq
};
699 trace
.prev
= tracehead
; tracehead
= &trace
;
700 tracehead
= trace
.prev
;
701 return TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( param0
));
703 val_t
kernel___Char_____l(val_t self
, val_t param0
) {
704 struct trace_t trace
= {NULL
, LOCATE_kernel
, 330, LOCATE_kernel___Char_____l
};
705 trace
.prev
= tracehead
; tracehead
= &trace
;
706 tracehead
= trace
.prev
;
707 return TAG_Bool(UNTAG_Char( self
)<UNTAG_Char( param0
));
709 val_t
kernel___Char_____geq(val_t self
, val_t param0
) {
710 struct trace_t trace
= {NULL
, LOCATE_kernel
, 331, LOCATE_kernel___Char_____geq
};
711 trace
.prev
= tracehead
; tracehead
= &trace
;
712 tracehead
= trace
.prev
;
713 return TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( param0
));
715 val_t
kernel___Char_____g(val_t self
, val_t param0
) {
716 struct trace_t trace
= {NULL
, LOCATE_kernel
, 332, LOCATE_kernel___Char_____g
};
717 trace
.prev
= tracehead
; tracehead
= &trace
;
718 tracehead
= trace
.prev
;
719 return TAG_Bool(UNTAG_Char( self
)>UNTAG_Char( param0
));
721 val_t
kernel___Char___succ(val_t self
) {
722 struct trace_t trace
= {NULL
, LOCATE_kernel
, 334, LOCATE_kernel___Char___succ
};
723 trace
.prev
= tracehead
; tracehead
= &trace
;
724 tracehead
= trace
.prev
;
725 return TAG_Char(UNTAG_Char( self
)+1);
727 val_t
kernel___Char___prec(val_t self
) {
728 struct trace_t trace
= {NULL
, LOCATE_kernel
, 335, LOCATE_kernel___Char___prec
};
729 trace
.prev
= tracehead
; tracehead
= &trace
;
730 tracehead
= trace
.prev
;
731 return TAG_Char(UNTAG_Char( self
)-1);
733 val_t
kernel___Char___distance(val_t self
, val_t param0
) {
734 struct trace_t trace
= {NULL
, LOCATE_kernel
, 337, LOCATE_kernel___Char___distance
};
739 trace
.prev
= tracehead
; tracehead
= &trace
;
741 variable2
= TAG_Int((unsigned char)UNTAG_Char( self
));
742 variable3
= TAG_Int((unsigned char)UNTAG_Char( variable0
/*c*/));
743 variable2
= TAG_Int(UNTAG_Int(variable2
)-UNTAG_Int(variable3
));
744 variable1
= variable2
;
745 variable2
= TAG_Bool(UNTAG_Int( variable1
/*d*/)>=UNTAG_Int( TAG_Int(0)));
746 if (UNTAG_Bool(variable2
)) { /*if*/
747 variable1
= variable1
/*d*/;
750 variable2
= TAG_Int(-UNTAG_Int( variable1
/*d*/));
751 variable1
= variable2
;
754 return_label23
: while(false);
755 tracehead
= trace
.prev
;
758 val_t
kernel___Char___to_i(val_t self
) {
759 struct trace_t trace
= {NULL
, LOCATE_kernel
, 347, LOCATE_kernel___Char___to_i
};
762 trace
.prev
= tracehead
; tracehead
= &trace
;
763 variable0
= TAG_Bool(( self
)==( TAG_Char('-')));
764 if (UNTAG_Bool(variable0
)) { /*if*/
765 variable0
= TAG_Int(-UNTAG_Int( TAG_Int(1)));
768 variable0
= TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( TAG_Char('0')));
769 variable1
= variable0
;
770 if (UNTAG_Bool(variable1
)) { /* and */
771 variable1
= TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( TAG_Char('9')));
773 variable0
= variable1
;
774 if (UNTAG_Bool(variable0
)) { /*if*/
775 variable0
= TAG_Int((unsigned char)UNTAG_Char( self
));
776 variable1
= TAG_Int((unsigned char)UNTAG_Char( TAG_Char('0')));
777 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int(variable1
));
780 variable0
= ((kernel___Char___to_lower_t
)CALL( self
,COLOR_kernel___Char___to_lower
))( self
) /*Char::to_lower*/;
781 variable0
= TAG_Int((unsigned char)UNTAG_Char(variable0
));
782 variable1
= TAG_Int((unsigned char)UNTAG_Char( TAG_Char('a')));
783 variable1
= TAG_Int(UNTAG_Int(variable1
)+UNTAG_Int( TAG_Int(10)));
784 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int(variable1
));
788 return_label24
: while(false);
789 tracehead
= trace
.prev
;
792 val_t
kernel___Char___ascii(val_t self
) {
793 struct trace_t trace
= {NULL
, LOCATE_kernel
, 360, LOCATE_kernel___Char___ascii
};
794 trace
.prev
= tracehead
; tracehead
= &trace
;
795 tracehead
= trace
.prev
;
796 return TAG_Int((unsigned char)UNTAG_Char( self
));
798 val_t
kernel___Char_____plus(val_t self
, val_t param0
) {
799 struct trace_t trace
= {NULL
, LOCATE_kernel
, 363, LOCATE_kernel___Char_____plus
};
800 trace
.prev
= tracehead
; tracehead
= &trace
;
801 tracehead
= trace
.prev
;
802 return TAG_Char(UNTAG_Char( self
)+UNTAG_Char( param0
));
804 val_t
kernel___Char_____minus(val_t self
, val_t param0
) {
805 struct trace_t trace
= {NULL
, LOCATE_kernel
, 364, LOCATE_kernel___Char_____minus
};
806 trace
.prev
= tracehead
; tracehead
= &trace
;
807 tracehead
= trace
.prev
;
808 return TAG_Char(UNTAG_Char( self
)-UNTAG_Char( param0
));
810 val_t
kernel___Char___to_lower(val_t self
) {
811 struct trace_t trace
= {NULL
, LOCATE_kernel
, 366, LOCATE_kernel___Char___to_lower
};
814 trace
.prev
= tracehead
; tracehead
= &trace
;
815 variable0
= TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( TAG_Char('A')));
816 variable1
= variable0
;
817 if (UNTAG_Bool(variable1
)) { /* and */
818 variable1
= TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( TAG_Char('Z')));
820 variable0
= variable1
;
821 if (UNTAG_Bool(variable0
)) { /*if*/
822 variable0
= TAG_Int((unsigned char)UNTAG_Char( self
));
823 variable1
= ((kernel___Char___distance_t
)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance
))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
824 variable0
= TAG_Int(UNTAG_Int(variable0
)+UNTAG_Int(variable1
));
825 variable0
= TAG_Char(UNTAG_Int(variable0
));
831 return_label25
: while(false);
832 tracehead
= trace
.prev
;
835 val_t
kernel___Char___to_upper(val_t self
) {
836 struct trace_t trace
= {NULL
, LOCATE_kernel
, 376, LOCATE_kernel___Char___to_upper
};
839 trace
.prev
= tracehead
; tracehead
= &trace
;
840 variable0
= TAG_Bool(UNTAG_Char( self
)>=UNTAG_Char( TAG_Char('a')));
841 variable1
= variable0
;
842 if (UNTAG_Bool(variable1
)) { /* and */
843 variable1
= TAG_Bool(UNTAG_Char( self
)<=UNTAG_Char( TAG_Char('z')));
845 variable0
= variable1
;
846 if (UNTAG_Bool(variable0
)) { /*if*/
847 variable0
= TAG_Int((unsigned char)UNTAG_Char( self
));
848 variable1
= ((kernel___Char___distance_t
)CALL( TAG_Char('a'),COLOR_kernel___Discrete___distance
))( TAG_Char('a'), TAG_Char('A')) /*Char::distance*/;
849 variable0
= TAG_Int(UNTAG_Int(variable0
)-UNTAG_Int(variable1
));
850 variable0
= TAG_Char(UNTAG_Int(variable0
));
856 return_label26
: while(false);
857 tracehead
= trace
.prev
;