~ chicken-core (chicken-5) 98d24ac8173c30cf7f7fa9dcb5925d897e66db97
commit 98d24ac8173c30cf7f7fa9dcb5925d897e66db97 Merge: 7ae936da 7d63669f Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Jul 2 23:14:22 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Jul 2 23:14:22 2011 +0200 resolved conflicts diff --cc c-platform.scm index 3aba549e,6c76d94a..e9e1aeaa --- a/c-platform.scm +++ b/c-platform.scm @@@ -149,8 -146,8 +149,9 @@@ block-ref block-set! number-of-slots substring-index substring-index-ci hash-table-ref any? read-string substring=? substring-ci=? first second third fourth make-record-instance + foldl foldr - u8vector-length s8vector-length u16vector-length s16vector-length u32vector-length s32vector-length + u8vector-length s8vector-length u16vector-length s16vector-length u32vector-length + s32vector-length f32vector-length f64vector-length setter u8vector-ref s8vector-ref u16vector-ref s16vector-ref u32vector-ref s32vector-ref f32vector-ref f64vector-ref f32vector-set! f64vector-set! diff --cc manual/faq index 8acaa705,b471871b..6f178cb5 --- a/manual/faq +++ b/manual/faq @@@ -510,162 -417,63 +510,164 @@@ and compiler settings The following extended bindings are handled specially: -{{bitwise-and}} {{bitwise-ior}} {{bitwise-xor}} {{bitwise-not}} -{{bit-set?}} {{add1}} {{sub1}} -{{fx+}} {{fx-}} {{fx*}} {{fx/}} -{{fx+?}} {{fx-?}} {{fx*?}} {{fx/?}} -{{fxmod}} -{{fx=}} {{fx>}} {{fx>=}} {{fixnum?}} {{fxneg}} {{fxmax}} {{fxmin}} -{{fxodd?}} {{fxeven?}} -{{fxand}} {{fxior}} {{fxxor}} {{fxnot}} {{fxshl}} {{fxshr}} -{{finite?}} {{fp=}} {{fp>}} {{fp<}} {{fp>=}} {{fp<=}} {{fpinteger?}} -{{flonum?}} {{fp+}} -{{fp-}} {{fp*}} {{fp/}} {{atom?}} -{{fp=}} {{fp>}} {{fp>=}} {{fpneg}} {{fpmax}} {{fpmin}} -{{fpfloor}} {{fpceiling}} {{fpround}} {{fptruncate}} {{fpsqrt}} {{fpabs}} -{{fplog}} {{fpexp}} {{fpexpt}} {{fpsin}} {{fpcos}} {{fptan}} {{fpasin}} -{{fpacos}} {{fpatan}} {{fpatan2}} -{{arithmetic-shift}} {{signum}} {{flush-output}} {{thread-specific}} {{thread-specific-set!}} -{{not-pair?}} {{null-list?}} {{print}} {{print*}} {{u8vector->blob/shared}} -{{s8vector->blob/shared}} {{u16vector->blob/shared}} {{s16vector->blob/shared}} -{{u32vector->blob/shared}} -{{s32vector->blob/shared}} {{f32vector->blob/shared}} {{f64vector->blob/shared}} {{block-ref}} +{{add1}} +{{alist-cons}} +{{any?}} +{{arithmetic-shift}} +{{atom?}} +{{bit-set?}} +{{bitwise-and}} +{{bitwise-ior}} +{{bitwise-not}} +{{bitwise-xor}} {{blob-size}} -{{u8vector-length}} -{{s8vector-length}} -{{u16vector-length}} -{{s16vector-length}} -{{u32vector-length}} -{{s32vector-length}} +{{block-ref}} +{{block-set!}} +{{call/cc}} +{{current-error-port}} +{{current-thread}} +{{error}} +{{f32vector->blob/shared}} {{f32vector-length}} +{{f32vector-ref}} +{{f64vector->blob/shared}} {{f64vector-length}} -{{u8vector-ref}} -{{s8vector-ref}} -{{u16vector-ref}} +{{f64vector-ref}} +{{finite?}} +{{first}} +{{fixnum?}} +{{flonum?}} +{{flush-output}} ++{{foldl}} ++{{foldr}} +{{format}} +{{fourth}} +{{fp*}} +{{fp+}} +{{fp-}} +{{fp/}} +{{fp<=}} +{{fp<}} +{{fp=}} +{{fp=}} +{{fp>=}} +{{fp>=}} +{{fp>}} +{{fp>}} +{{fpabs}} +{{fpacos}} +{{fpasin}} +{{fpatan2}} +{{fpatan}} +{{fpceiling}} +{{fpcos}} +{{fpexpt}} +{{fpexp}} +{{fpfloor}} +{{fpinteger?}} +{{fplog}} +{{fpmax}} +{{fpmin}} +{{fpneg}} +{{fprintf}} +{{fpround}} +{{fpsin}} +{{fpsqrt}} +{{fptan}} +{{fptruncate}} +{{fx*?}} +{{fx*}} +{{fx+?}} +{{fx+}} +{{fx-?}} +{{fx-}} +{{fx/?}} +{{fx/}} +{{fx=}} +{{fx>=}} +{{fx>}} +{{fxand}} +{{fxeven?}} +{{fxior}} +{{fxmax}} +{{fxmin}} +{{fxmod}} +{{fxneg}} +{{fxnot}} +{{fxodd?}} +{{fxshl}} +{{fxshr}} +{{fxxor}} +{{hash-table-ref}} +{{identity}} +{{locative->object}} +{{locative-ref}} +{{locative-set!}} +{{locative?}} +{{make-record-instance}} +{{not-pair?}} +{{null-list?}} +{{null-pointer?}} +{{number-of-slots}} +{{o}} +{{pointer+}} +{{pointer->object}} +{{pointer-f32-ref}} +{{pointer-f32-set!}} +{{pointer-f64-ref}} +{{pointer-f64-set!}} +{{pointer-s16-ref}} +{{pointer-s16-set!}} +{{pointer-s32-ref}} +{{pointer-s32-set!}} +{{pointer-s8-ref}} +{{pointer-s8-set!}} +{{pointer-u16-ref}} +{{pointer-u16-set!}} +{{pointer-u32-ref}} +{{pointer-u32-set!}} +{{pointer-u8-ref}} +{{pointer-u8-set!}} +{{pointer=?}} +{{print*}} +{{printf}} +{{print}} +{{s16vector->blob/shared}} +{{s16vector-length}} {{s16vector-ref}} -{{u32vector-ref}} +{{s16vector-set!}} +{{s32vector->blob/shared}} +{{s32vector-length}} {{s32vector-ref}} -{{f32vector-ref}} -{{f64vector-ref}} -{{u8vector-set!}} +{{s32vector-set!}} +{{s8vector->blob/shared}} +{{s8vector-length}} +{{s8vector-ref}} {{s8vector-set!}} +{{second}} +{{signum}} +{{sprintf}} +{{sub1}} +{{substring-ci=?}} +{{substring-index-ci}} +{{substring-index}} +{{substring=?}} +{{third}} +{{thread-specific-set!}} +{{thread-specific}} +{{u16vector->blob/shared}} +{{u16vector-length}} +{{u16vector-ref}} {{u16vector-set!}} -{{s16vector-set!}} +{{u32vector->blob/shared}} +{{u32vector-length}} +{{u32vector-ref}} {{u32vector-set!}} -{{s32vector-set!}} -{{hash-table-ref}} -{{block-set!}} {{number-of-slots}} -{{first}} {{second}} {{third}} {{fourth}} {{null-pointer?}} {{pointer->object}} -{{pointer+}} {{pointer=?}} -{{pointer-u8-ref}} {{pointer-s8-ref}} {{pointer-u16-ref}} {{pointer-s16-ref}} -{{pointer-u32-ref}} {{pointer-s32-ref}} {{pointer-f32-ref}} {{pointer-f64-ref}} -{{pointer-u8-set!}} {{pointer-s8-set!}} {{pointer-u16-set!}} {{pointer-s16-set!}} -{{pointer-u32-set!}} {{pointer-s32-set!}} {{pointer-f32-set!}} {{pointer-f64-set!}} -{{make-record-instance}} -{{locative-ref}} {{locative-set!}} {{locative?}} {{locative->object}} {{identity}} -{{cpu-time}} {{error}} {{call/cc}} {{any?}} -{{substring=?}} {{substring-ci=?}} {{substring-index}} {{substring-index-ci}} -{{printf}} {{sprintf}} {{fprintf}} {{format}} {{o}} -{{foldl}} {{foldr}} +{{u8vector->blob/shared}} +{{u8vector-length}} +{{u8vector-ref}} +{{u8vector-set!}} +{{xcons}} ==== What's the difference betweem "block" and "local" mode? diff --cc types.db index 7c6d1179,de0d3a0b..10103abc --- a/types.db +++ b/types.db @@@ -609,102 -289,42 +609,106 @@@ (flonum-minimum-decimal-exponent fixnum) (flonum-minimum-exponent fixnum) (flonum-precision fixnum) -(flonum-print-precision (procedure (#!optional fixnum) fixnum)) +(flonum-print-precision (procedure! (#!optional fixnum) fixnum)) (flonum-radix fixnum) -(flonum? (procedure flonum? (*) boolean)) -(flush-output (procedure flush-output (#!optional port) undefined)) -(foldl (procedure foldl ((procedure (* *) *) * list) *)) -(foldr (procedure foldr ((procedure (* *) *) * list) *)) + +(flonum? (procedure? float flonum? (*) boolean)) + +(flush-output (procedure! flush-output (#!optional port) undefined)) ++ ++(foldl (procedure! foldl ((procedure (* *) *) * list) *)) ++(foldr (procedure! foldr ((procedure (* *) *) * list) *)) ++ (force-finalizers (procedure force-finalizers () undefined)) -(fp- (procedure fp- (float float) float)) -(fp* (procedure fp* (float float) float)) -(fp/ (procedure fp/ (float float) float)) -(fp+ (procedure fp+ (float float) float)) -(fp< (procedure fp< (float float) boolean)) -(fp<= (procedure fp<= (float float) boolean)) -(fp= (procedure fp= (float float) boolean)) -(fp> (procedure fp> (float float) boolean)) -(fp>= (procedure fp>= (float float) boolean)) -(fpabs (procedure fpabs (float) float)) -(fpacos (procedure fpacos (float) float)) -(fpasin (procedure fpasin (float) float)) -(fpatan (procedure fpatan (float) float)) -(fpatan2 (procedure fpatan2 (float float) float)) -(fpceiling (procedure fpceiling (float) float)) -(fpcos (procedure fpcos (float) float)) -(fpexp (procedure fpexp (float) float)) -(fpexpt (procedure fpexpt (float float) float)) -(fpfloor (procedure fpfloor (float) float)) -(fpinteger? (procedure fpinteger? (float) boolean)) -(fplog (procedure fplog (float) float)) -(fpmax (procedure fpmax (float float) float)) -(fpmin (procedure fpmin (float float) float)) -(fpneg (procedure fpneg (float) float)) -(fpround (procedure fpround (float) float)) -(fpsin (procedure fpsin (float) float)) -(fpsqrt (procedure fpsqrt (float) float)) -(fptan (procedure fptan (float) float)) -(fptruncate (procedure fptruncate (float) float)) + +(fp- (procedure! fp- (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_difference" 4) #(1) #(2)) )) + +(fp* (procedure! fp* (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_times" 4) #(1) #(2)) )) + +(fp/ (procedure! fp/ (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_quotient" 4) #(1) #(2)) )) + +(fp+ (procedure! fp+ (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_plus" 4) #(1) #(2)) )) + +(fp< (procedure! fp< (float float) boolean) + ((float float) (##core#inline "C_flonum_lessp" #(1) #(2)) )) + +(fp<= (procedure! fp<= (float float) boolean) + ((float float) (##core#inline "C_flonum_less_or_equal_p" #(1) #(2)) )) + +(fp= (procedure! fp= (float float) boolean) + ((float float) (##core#inline "C_flonum_equalp" #(1) #(2)) )) + +(fp> (procedure! fp> (float float) boolean) + ((float float) (##core#inline "C_flonum_greaterp" #(1) #(2)) )) + +(fp>= (procedure! fp>= (float float) boolean) + ((float float) (##core#inline "C_flonum_greater_or_equal_p" #(1) #(2)) )) + +(fpabs (procedure! fpabs (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_abs" 4) #(1) ))) + +(fpacos (procedure! fpacos (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_acos" 4) #(1) ))) + +(fpasin (procedure! fpasin (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_asin" 4) #(1) ))) + +(fpatan (procedure! fpatan (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_atan" 4) #(1) ))) + +(fpatan2 (procedure! fpatan2 (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_atan2" 4) + #(1) #(2)))) +(fpceiling (procedure! fpceiling (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_ceiling" 4) #(1) ))) + +(fpcos (procedure! fpcos (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_cos" 4) #(1) ))) + +(fpexp (procedure! fpexp (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_exp" 4) #(1) ))) + +(fpexpt (procedure! fpexpt (float float) float) + ((float float) (##core#inline_allocate ("C_a_i_flonum_expt" 4) + #(1) #(2)))) + +(fpfloor (procedure! fpfloor (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_floor" 4) #(1) ))) + +(fpinteger? (procedure! fpinteger? (float) boolean) + ((float) (##core#inline "C_u_i_flonum_intergerp" #(1) ))) + +(fplog (procedure! fplog (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_log" 4) #(1) ))) + +(fpmax (procedure! fpmax (float float) float) + ((float float) (##core#inline "C_i_flonum_max" #(1) #(2)))) + +(fpmin (procedure! fpmin (float float) float) + ((float float) (##core#inline "C_i_flonum_min" #(1) #(2)))) + +(fpneg (procedure! fpneg (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_negate" 4) #(1) ))) + +(fpround (procedure! fpround (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_round" 4) #(1) ))) + +(fpsin (procedure! fpsin (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_sin" 4) #(1) ))) + +(fpsqrt (procedure! fpsqrt (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_sqrt" 4) #(1) ))) + +(fptan (procedure! fptan (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_tan" 4) #(1) ))) + +(fptruncate (procedure! fptruncate (float) float) + ((float) (##core#inline_allocate ("C_a_i_flonum_truncate" 4) #(1) ))) + (fx- (procedure fx- (fixnum fixnum) fixnum)) (fx* (procedure fx* (fixnum fixnum) fixnum)) (fx/ (procedure fx/ (fixnum fixnum) fixnum))Trap