on master help sign in
Fix some big number primitives

Fixes issue #177

commit03db88d99fdde771bb574412ed7cdfb0f3a05309 authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSat 9 Mar 2013, 12:38 (14 years ago) parent7c393c7
1 file changed+5−5
rts/idris_gmp.c+5−5
rts/idris_gmp.c+5−5
@@ -231,7 +231,7 @@ VAL idris_bigEq(VM* vm, VAL x, VAL y) {
231231 if (ISINT(x) && ISINT(y)) {
232232 return MKINT((i_int)(GETINT(x) == GETINT(y)));
233233 } else {
234− return bigEq(vm, x, y);
234+ return bigEq(vm, GETBIG(vm, x), GETBIG(vm, y));
235235 }
236236}
237237
@@ -239,7 +239,7 @@ VAL idris_bigLt(VM* vm, VAL x, VAL y) {
239239 if (ISINT(x) && ISINT(y)) {
240240 return MKINT((i_int)(GETINT(x) < GETINT(y)));
241241 } else {
242− return bigLt(vm, x, y);
242+ return bigLt(vm, GETBIG(vm, x), GETBIG(vm, y));
243243 }
244244}
245245
@@ -247,7 +247,7 @@ VAL idris_bigLe(VM* vm, VAL x, VAL y) {
247247 if (ISINT(x) && ISINT(y)) {
248248 return MKINT((i_int)(GETINT(x) <= GETINT(y)));
249249 } else {
250− return bigLe(vm, x, y);
250+ return bigLe(vm, GETBIG(vm, x), GETBIG(vm, y));
251251 }
252252}
253253
@@ -255,7 +255,7 @@ VAL idris_bigGt(VM* vm, VAL x, VAL y) {
255255 if (ISINT(x) && ISINT(y)) {
256256 return MKINT((i_int)(GETINT(x) > GETINT(y)));
257257 } else {
258− return bigGt(vm, x, y);
258+ return bigGt(vm, GETBIG(vm, x), GETBIG(vm, y));
259259 }
260260}
261261
@@ -263,7 +263,7 @@ VAL idris_bigGe(VM* vm, VAL x, VAL y) {
263263 if (ISINT(x) && ISINT(y)) {
264264 return MKINT((i_int)(GETINT(x) >= GETINT(y)));
265265 } else {
266− return bigGe(vm, x, y);
266+ return bigGe(vm, GETBIG(vm, x), GETBIG(vm, y));
267267 }
268268}
269269