* added bignum? primitive and removed ikrt_isbignum from the runtime
system.
This commit is contained in:
parent
c6861f41d5
commit
893a2decc8
BIN
bin/ikarus
BIN
bin/ikarus
Binary file not shown.
|
@ -65,6 +65,7 @@ verify_bignum(ikp x, char* caller){
|
|||
|
||||
#define BN(x) verify_bignum(x,"BN")
|
||||
|
||||
#if 0
|
||||
ikp
|
||||
ikrt_isbignum(ikp x){
|
||||
if(tagof(x) == vector_tag){
|
||||
|
@ -75,6 +76,7 @@ ikrt_isbignum(ikp x){
|
|||
}
|
||||
return false_object;
|
||||
}
|
||||
#endif
|
||||
|
||||
ikp
|
||||
ikrt_positive_bn(ikp x){
|
||||
|
|
BIN
src/ikarus.boot
BIN
src/ikarus.boot
Binary file not shown.
|
@ -19,11 +19,11 @@
|
|||
|
||||
(let ()
|
||||
|
||||
(define bignum?
|
||||
; FIXME: temporary definition. Compiler should be made aware
|
||||
; of numeric representation once it's stable enough.
|
||||
(lambda (x)
|
||||
(foreign-call "ikrt_isbignum" x)))
|
||||
;;; (define bignum?
|
||||
;;; ; FIXME: temporary definition. Compiler should be made aware
|
||||
;;; ; of numeric representation once it's stable enough.
|
||||
;;; (lambda (x)
|
||||
;;; (foreign-call "ikrt_isbignum" x)))
|
||||
|
||||
(define (fixnum->flonum x)
|
||||
(foreign-call "ikrt_fixnum_to_flonum" x))
|
||||
|
@ -818,5 +818,7 @@
|
|||
(primitive-set! 'integer? integer?)
|
||||
(primitive-set! 'exact->inexact exact->inexact)
|
||||
(primitive-set! 'modulo modulo)
|
||||
(primitive-set! 'bignum? bignum?)
|
||||
(primitive-set! 'bignum?
|
||||
(lambda (x) (bignum? x)))
|
||||
|
||||
)
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
(define public-primitives
|
||||
'(
|
||||
|
||||
null? pair? char? fixnum? symbol? gensym? string? vector? list?
|
||||
null? pair? char? fixnum? bignum? symbol? gensym? string? vector? list?
|
||||
boolean? procedure? not eof-object eof-object? bwp-object?
|
||||
void fx= fx< fx<= fx> fx>= fxzero? fx+ fx- fx* fxadd1 fxsub1
|
||||
fxquotient fxremainder fxmodulo fxsll fxsra fxlognot fxlogor
|
||||
|
|
Loading…
Reference in New Issue