@@ -110,38 +110,23 @@ VAL idris_b8SRem(VM *vm, VAL a, VAL b) {
112VAL idris_b8Lt(VM *vm, VAL a, VAL b) {
112VAL idris_b8Lt(VM *vm, VAL a, VAL b) {
113− VAL cl = allocate(vm, sizeof(Closure), 0);
115− cl->info.bits8 = a->info.bits8 < b->info.bits8;
113+ return MKINT(a->info.bits8 < b->info.bits8);
119VAL idris_b8Gt(VM *vm, VAL a, VAL b) {
116VAL idris_b8Gt(VM *vm, VAL a, VAL b) {
120− VAL cl = allocate(vm, sizeof(Closure), 0);
122− cl->info.bits8 = a->info.bits8 > b->info.bits8;
117+ return MKINT(a->info.bits8 > b->info.bits8);
126VAL idris_b8Eq(VM *vm, VAL a, VAL b) {
120VAL idris_b8Eq(VM *vm, VAL a, VAL b) {
127− VAL cl = allocate(vm, sizeof(Closure), 0);
129− cl->info.bits8 = a->info.bits8 == b->info.bits8;
121+ return MKINT(a->info.bits8 == b->info.bits8);
133VAL idris_b8Lte(VM *vm, VAL a, VAL b) {
124VAL idris_b8Lte(VM *vm, VAL a, VAL b) {
134− VAL cl = allocate(vm, sizeof(Closure), 0);
136− cl->info.bits8 = a->info.bits8 <= b->info.bits8;
125+ return MKINT(a->info.bits8 <= b->info.bits8);
140VAL idris_b8Gte(VM *vm, VAL a, VAL b) {
128VAL idris_b8Gte(VM *vm, VAL a, VAL b) {
141− VAL cl = allocate(vm, sizeof(Closure), 0);
143− cl->info.bits8 = a->info.bits8 >= b->info.bits8;
129+ return MKINT(a->info.bits8 >= b->info.bits8);
147VAL idris_b8Compl(VM *vm, VAL a) {
132VAL idris_b8Compl(VM *vm, VAL a) {
@@ -245,38 +230,23 @@ VAL idris_b16SRem(VM *vm, VAL a, VAL b) {
247VAL idris_b16Lt(VM *vm, VAL a, VAL b) {
232VAL idris_b16Lt(VM *vm, VAL a, VAL b) {
248− VAL cl = allocate(vm, sizeof(Closure), 0);
250− cl->info.bits16 = a->info.bits16 < b->info.bits16;
233+ return MKINT(a->info.bits16 < b->info.bits16);
254VAL idris_b16Gt(VM *vm, VAL a, VAL b) {
236VAL idris_b16Gt(VM *vm, VAL a, VAL b) {
255− VAL cl = allocate(vm, sizeof(Closure), 0);
257− cl->info.bits16 = a->info.bits16 > b->info.bits16;
237+ return MKINT(a->info.bits16 > b->info.bits16);
261VAL idris_b16Eq(VM *vm, VAL a, VAL b) {
240VAL idris_b16Eq(VM *vm, VAL a, VAL b) {
262− VAL cl = allocate(vm, sizeof(Closure), 0);
264− cl->info.bits16 = a->info.bits16 == b->info.bits16;
241+ return MKINT(a->info.bits16 == b->info.bits16);
268VAL idris_b16Lte(VM *vm, VAL a, VAL b) {
244VAL idris_b16Lte(VM *vm, VAL a, VAL b) {
269− VAL cl = allocate(vm, sizeof(Closure), 0);
271− cl->info.bits16 = a->info.bits16 <= b->info.bits16;
245+ return MKINT(a->info.bits16 <= b->info.bits16);
275VAL idris_b16Gte(VM *vm, VAL a, VAL b) {
248VAL idris_b16Gte(VM *vm, VAL a, VAL b) {
276− VAL cl = allocate(vm, sizeof(Closure), 0);
278− cl->info.bits16 = a->info.bits16 >= b->info.bits16;
249+ return MKINT(a->info.bits16 >= b->info.bits16);
282VAL idris_b16Compl(VM *vm, VAL a) {
252VAL idris_b16Compl(VM *vm, VAL a) {
@@ -380,38 +350,23 @@ VAL idris_b32SRem(VM *vm, VAL a, VAL b) {
382VAL idris_b32Lt(VM *vm, VAL a, VAL b) {
352VAL idris_b32Lt(VM *vm, VAL a, VAL b) {
383− VAL cl = allocate(vm, sizeof(Closure), 0);
385− cl->info.bits32 = a->info.bits32 < b->info.bits32;
353+ return MKINT(a->info.bits32 < b->info.bits32);
389VAL idris_b32Gt(VM *vm, VAL a, VAL b) {
356VAL idris_b32Gt(VM *vm, VAL a, VAL b) {
390− VAL cl = allocate(vm, sizeof(Closure), 0);
392− cl->info.bits32 = a->info.bits32 > b->info.bits32;
357+ return MKINT(a->info.bits32 > b->info.bits32);
396VAL idris_b32Eq(VM *vm, VAL a, VAL b) {
360VAL idris_b32Eq(VM *vm, VAL a, VAL b) {
397− VAL cl = allocate(vm, sizeof(Closure), 0);
399− cl->info.bits32 = a->info.bits32 == b->info.bits32;
361+ return MKINT(a->info.bits32 == b->info.bits32);
403VAL idris_b32Lte(VM *vm, VAL a, VAL b) {
364VAL idris_b32Lte(VM *vm, VAL a, VAL b) {
404− VAL cl = allocate(vm, sizeof(Closure), 0);
406− cl->info.bits32 = a->info.bits32 <= b->info.bits32;
365+ return MKINT(a->info.bits32 <= b->info.bits32);
410VAL idris_b32Gte(VM *vm, VAL a, VAL b) {
368VAL idris_b32Gte(VM *vm, VAL a, VAL b) {
411− VAL cl = allocate(vm, sizeof(Closure), 0);
413− cl->info.bits32 = a->info.bits32 >= b->info.bits32;
369+ return MKINT(a->info.bits32 >= b->info.bits32);
417VAL idris_b32Compl(VM *vm, VAL a) {
372VAL idris_b32Compl(VM *vm, VAL a) {
@@ -515,38 +470,23 @@ VAL idris_b64SRem(VM *vm, VAL a, VAL b) {
517VAL idris_b64Lt(VM *vm, VAL a, VAL b) {
472VAL idris_b64Lt(VM *vm, VAL a, VAL b) {
518− VAL cl = allocate(vm, sizeof(Closure), 0);
520− cl->info.bits64 = a->info.bits64 < b->info.bits64;
473+ return MKINT(a->info.bits64 < b->info.bits64);
524VAL idris_b64Gt(VM *vm, VAL a, VAL b) {
476VAL idris_b64Gt(VM *vm, VAL a, VAL b) {
525− VAL cl = allocate(vm, sizeof(Closure), 0);
527− cl->info.bits64 = a->info.bits64 > b->info.bits64;
477+ return MKINT(a->info.bits64 > b->info.bits64);
531VAL idris_b64Eq(VM *vm, VAL a, VAL b) {
480VAL idris_b64Eq(VM *vm, VAL a, VAL b) {
532− VAL cl = allocate(vm, sizeof(Closure), 0);
534− cl->info.bits64 = a->info.bits64 == b->info.bits64;
481+ return MKINT(a->info.bits64 == b->info.bits64);
538VAL idris_b64Lte(VM *vm, VAL a, VAL b) {
484VAL idris_b64Lte(VM *vm, VAL a, VAL b) {
539− VAL cl = allocate(vm, sizeof(Closure), 0);
541− cl->info.bits64 = a->info.bits64 <= b->info.bits64;
485+ return MKINT(a->info.bits64 <= b->info.bits64);
545VAL idris_b64Gte(VM *vm, VAL a, VAL b) {
488VAL idris_b64Gte(VM *vm, VAL a, VAL b) {
546− VAL cl = allocate(vm, sizeof(Closure), 0);
548− cl->info.bits64 = a->info.bits64 >= b->info.bits64;
489+ return MKINT(a->info.bits64 >= b->info.bits64);
552VAL idris_b64Compl(VM *vm, VAL a) {
492VAL idris_b64Compl(VM *vm, VAL a) {