~ chicken-core (chicken-5) 5576895f9607fcdb51d61a323a136a0e1da4267a
commit 5576895f9607fcdb51d61a323a136a0e1da4267a Author: Peter Bex <peter@more-magic.net> AuthorDate: Sat Feb 7 16:06:31 2015 +0100 Commit: Peter Bex <peter@more-magic.net> CommitDate: Sun May 31 14:20:16 2015 +0200 Update lfa2 with the new number types diff --git a/lfa2.scm b/lfa2.scm index 04adf67f..71d73fe1 100644 --- a/lfa2.scm +++ b/lfa2.scm @@ -62,9 +62,9 @@ (define +type-check-map+ '(("C_i_check_closure" procedure) - ("C_i_check_exact" fixnum) - ("C_i_check_inexact" flonum) - ("C_i_check_number" fixnum flonum number) + ("C_i_check_exact" fixnum bignum integer ratnum) + ("C_i_check_inexact" flonum) ; Or an inexact cplxnum... + ("C_i_check_number" fixnum integer bignum ratnum flonum cplxnum number) ("C_i_check_string" string) ("C_i_check_bytevector" blob) ("C_i_check_symbol" symbol) @@ -76,9 +76,9 @@ ("C_i_check_structure" *struct*) ; special case ("C_i_check_char" char) ("C_i_check_closure_2" procedure) - ("C_i_check_exact_2" fixnum) - ("C_i_check_inexact_2" flonum) - ("C_i_check_number_2" fixnum flonum number) + ("C_i_check_exact_2" fixnum bignum integer ratnum) + ("C_i_check_inexact_2" flonum) ; Or an inexact cplxnum... + ("C_i_check_number_2" fixnum integer bignum ratnum flonum cplxnum number) ("C_i_check_string_2" string) ("C_i_check_bytevector_2" blob) ("C_i_check_symbol_2" symbol) @@ -96,8 +96,12 @@ (define +predicate-map+ '(("C_i_closurep" procedure) ("C_fixnump" fixnum) + ("C_bignump" bignum) + ("C_i_exact_integerp" integer fixnum bignum) ("C_i_flonump" flonum) - ("C_i_numberp" number) + ("C_i_numberp" number fixnum integer bignum ratnum flonum cplxnum) + ("C_i_ratnump" ratnum) + ("C_i_cplxnump" cplxnum) ("C_stringp" string) ("C_bytevectorp" blob) ("C_i_symbolp" symbol) @@ -150,6 +154,11 @@ ("C_a_i_cons" pair) ("C_a_i_flonum" flonum) ("C_a_i_fix_to_flo" flonum) + ("C_a_i_big_to_flo" flonum) + ("C_a_i_fix_to_big" bignum) + ("C_a_i_bignum0" bignum) + ("C_a_i_bignum1" bignum) + ("C_a_i_bignum2" bignum) ;;XXX there are endless more - is it worth it? )) @@ -164,7 +173,11 @@ (cond ((string? lit) 'string) ((symbol? lit) 'symbol) ((fixnum? lit) 'fixnum) + ((bignum? lit) 'bignum) ((flonum? lit) 'float) + ((ratnum? lit) 'ratnum) + ((cplxnum? lit) 'cplxnum) + ((exact-integer? lit) 'integer) ((number? lit) (case number-type ((fixnum) 'fixnum)Trap