(define-macro (check form) | |
`(if (not ,form) | |
(error "Check failed: " ',form))) | |
(define (=~ a b) | |
(< (abs (- a b)) 1e-8)) | |
;; Check first method | |
(check (=~ (foo 1 2 "bar" 4) 15)) | |
;; Check second method | |
(check (=~ (foo 1 2) 4811.4)) | |
(check (=~ (foo 1 2 3.2) 4797.2)) | |
(check (=~ (foo 1 2 3.2 #\Q) 4798.2)) | |
(exit 0) |