mirror of
https://github.com/ashinn/chibi-scheme.git
synced 2025-05-22 07:09:18 +02:00
fix for (inexact->exact ratio)
This commit is contained in:
parent
f632037344
commit
e3d1414dcc
2 changed files with 7 additions and 1 deletions
|
@ -676,6 +676,12 @@ SEXP_API sexp sexp_make_unsigned_integer(sexp ctx, sexp_luint_t x);
|
||||||
|
|
||||||
#define sexp_integerp(x) (sexp_exact_integerp(x) _or_integer_flonump(x))
|
#define sexp_integerp(x) (sexp_exact_integerp(x) _or_integer_flonump(x))
|
||||||
|
|
||||||
|
#if SEXP_USE_RATIOS
|
||||||
|
#define sexp_exactp(x) (sexp_exact_integerp(x) || sexp_ratiop(x))
|
||||||
|
#else
|
||||||
|
#define sexp_exactp(x) sexp_exact_integerp(x)
|
||||||
|
#endif
|
||||||
|
|
||||||
#if SEXP_USE_FLONUMS
|
#if SEXP_USE_FLONUMS
|
||||||
#define sexp_fixnum_to_flonum(ctx, x) (sexp_make_flonum(ctx, sexp_unbox_fixnum(x)))
|
#define sexp_fixnum_to_flonum(ctx, x) (sexp_make_flonum(ctx, sexp_unbox_fixnum(x)))
|
||||||
#if SEXP_USE_RATIOS
|
#if SEXP_USE_RATIOS
|
||||||
|
|
2
vm.c
2
vm.c
|
@ -1684,7 +1684,7 @@ sexp sexp_apply (sexp ctx, sexp proc, sexp args) {
|
||||||
} else {
|
} else {
|
||||||
_ARG1 = sexp_make_fixnum((sexp_sint_t)sexp_flonum_value(_ARG1));
|
_ARG1 = sexp_make_fixnum((sexp_sint_t)sexp_flonum_value(_ARG1));
|
||||||
}
|
}
|
||||||
} else if (! sexp_fixnump(_ARG1) && ! sexp_bignump(_ARG1)) {
|
} else if (!sexp_exactp(_ARG1)) {
|
||||||
sexp_raise("inexact->exact: not a number", sexp_list1(ctx, _ARG1));
|
sexp_raise("inexact->exact: not a number", sexp_list1(ctx, _ARG1));
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue