~ chicken-core (chicken-5) 7b1614cd47dc4665ca75a129d5c526f2632a057e
commit 7b1614cd47dc4665ca75a129d5c526f2632a057e
Author: felix <felix@call-with-current-continuation.org>
AuthorDate: Sat May 15 23:01:50 2010 +0200
Commit: felix <felix@call-with-current-continuation.org>
CommitDate: Sat May 15 23:01:50 2010 +0200
div-by-0 checks is done at C level for fx/ and fxmod
diff --git a/library.scm b/library.scm
index 275582fe..00500fe5 100644
--- a/library.scm
+++ b/library.scm
@@ -694,17 +694,11 @@ EOF
(define (fxodd? x) (##core#inline "C_i_fixnumoddp" x))
(define (fxeven? x) (##core#inline "C_i_fixnumevenp" x))
-(define-inline (fx-check-divison-by-zero x y loc)
- (when (eq? 0 y)
- (##sys#error-hook (foreign-value "C_DIVISION_BY_ZERO_ERROR" int) loc x y) ) )
-
(define (fx/ x y)
- (fx-check-divison-by-zero x y 'fx/)
- (##core#inline "C_u_fixnum_divide" x y) )
+ (##core#inline "C_fixnum_divide" x y) )
(define (fxmod x y)
- (fx-check-divison-by-zero x y 'fxmod)
- (##core#inline "C_u_fixnum_modulo" x y) )
+ (##core#inline "C_fixnum_modulo" x y) )
(define maximum-flonum (foreign-value "DBL_MAX" double))
(define minimum-flonum (foreign-value "DBL_MIN" double))
Trap