Tuesday, June 5, 2012

Curious

(define (fmod numerator denominator)
 (- numerator
 (* (floor (/ numerator denominator))
 denominator)))
(define (test-fmod numerator denominator)
 (let ((answer (fmod numerator denominator)))
 (if (> answer denominator)
 (begin (display "Whoops: ")
 (display (list numerator denominator answer))
 (newline)))))
1 ]=> (do ((i 0 (+ i 1))) ((>= i 1000)) (test-fmod (random 1.0) (random 1.0)))
; Value: #t
1 ]=> (test-fmod .59 .01)
Whoops: (.59 .01 1.0000000000000009e-2)
;Unspecified return value

Subscribe to: Comments (Atom)

AltStyle によって変換されたページ (->オリジナル) /