From 1b0df5d48df511c95c32be712c79578a001aca97 Mon Sep 17 00:00:00 2001 From: Robby Findler Date: Wed, 21 Mar 2012 19:45:00 -0500 Subject: [PATCH] fix rotate so that it can accept non-integral arguments closes PR 12632 --- collects/2htdp/private/image-more.rkt | 2 +- collects/2htdp/tests/test-image.rkt | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/collects/2htdp/private/image-more.rkt b/collects/2htdp/private/image-more.rkt index a9a7c40fbe..ee820c4f6e 100644 --- a/collects/2htdp/private/image-more.rkt +++ b/collects/2htdp/private/image-more.rkt @@ -754,7 +754,7 @@ (unless (and (<= 0 θ) (< θ 360)) (error 'degrees->complex "~s" θ)) - (case (modulo θ 360) + (case (and (integer? θ) (modulo θ 360)) [(0) 1+0i] [(90) 0+1i] [(180) -1+0i] diff --git a/collects/2htdp/tests/test-image.rkt b/collects/2htdp/tests/test-image.rkt index 17904833b9..25174078b1 100644 --- a/collects/2htdp/tests/test-image.rkt +++ b/collects/2htdp/tests/test-image.rkt @@ -886,6 +886,11 @@ => #t) +;; make sure rotate can get non-integral arguments +(test (rotate -90.5 (rotate 90.5 (rectangle 20 100 'solid 'orange))) + => + (rectangle 20 100 'solid 'orange)) + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;; ;; scaling tests