Several optimizations for R6RS fixnum arithmetic
authorAndreas Rottmann <a.rottmann@gmx.at>
Sat, 2 Apr 2011 17:42:27 +0000 (19:42 +0200)
committerAndy Wingo <wingo@pobox.com>
Mon, 4 Apr 2011 21:21:30 +0000 (23:21 +0200)
commit78d1be4aef408248bbb545d4b94b4b1335a4ab88
tree2b6e3d6b27c9844026ca8e58d8d6f61ef3558781
parentb7715701b488a1de87c7767bc437a853f10001ee
Several optimizations for R6RS fixnum arithmetic

* module/rnrs/arithmetic/fixnums.scm (assert-fixnum): Is now a
  macro.
  (assert-fixnums): New procedure checking a the elements of a list
  for fixnum-ness.  All callers applying `assert-fixnum' to a list
  now changed to use this procedure.

* module/rnrs/arithmetic/fixnums.scm (define-fxop*): New for defining
  n-ary inlinable special-casing the binary case using `case-lambda'.
  All applicable procedures redefined using this macro.

* module/rnrs/arithmetic/fixnums.scm: Alias all predicates to
  their non-fixnum counterparts.
module/rnrs/arithmetic/fixnums.scm