<div dir="ltr"><div>Hi Sean: do you have a program that demonstrates this error that you can share? That'll let me track down the bug. </div><div><br></div>Hi Danny: The contracts are checked at the boundary based on the define/chk macro. This is an internal error somewhere -- angles are not restricted to being between 0 and 360. I don't suppose you noticed how to make this error happen?<div>
<br></div><div>Robby</div><div><br>On Monday, May 12, 2014, Danny Yoo <<a href="mailto:dyoo@hashcollision.org" target="_blank">dyoo@hashcollision.org</a>> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Mon, May 12, 2014 at 4:11 PM, Sean Kanaley <<a>skanaley@gmail.com</a>> wrote:<br>

> Hello all,<br>
><br>
> I can't figure this out as I have no function called degrees->complex and it<br>
> occurs only sometimes.  It's always when rotating stuff through the positive<br>
> x axis, as in it's probably related to floating point operations like sin or<br>
> cos near 0 or perhaps integer multiples of 2pi.  So far I believe it has<br>
> only happened rotating clockwise where the error freezes the program with<br>
> slightly negative radians displaying (part of my debug output).<br>
><br>
> It's possible it's my own bug with a bad sqrt or using NaN or something, but<br>
> then what does the message mean?<br>
<br>
<br>
You're trying to rotate, but the degrees have to be between 0 and 360 degrees.<br>
<br>
    <a href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29" target="_blank">http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._rotate%29%29</a><br>


<br>
Double check your calls to (rotate) and see that the angle is within<br>
those bounds.<br>
<br>
---<br>
<br>
Internal comment: The error message appears to arise deep within<br>
htdp-lib/2htdp/private/image-more.rkt.  Unfortunately, the contract<br>
check appears to be done at the private implementation end of things,<br>
rather than at the public function boundary, so the original<br>
questioner is not seeing as helpful of an error message as would be<br>
ideal... Actually, the contract might be wrong.  It says that it has<br>
to be an angle:<br>
<br>
    <a href="http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29" target="_blank">http://docs.racket-lang.org/teachpack/2htdpimage.html#%28def._%28%28lib._2htdp%2Fimage..rkt%29._angle~3f%29%29</a><br>


<br>
but angles aren't restricted to 0-360, even though the internal<br>
implementation really needs it to be within those bounds, according<br>
to:<br>
<br>
    <a href="http://git.racket-lang.org/plt/blob/HEAD:/pkgs/htdp-pkgs/htdp-lib/2htdp/private/image-more.rkt#l794" target="_blank">http://git.racket-lang.org/plt/blob/HEAD:/pkgs/htdp-pkgs/htdp-lib/2htdp/private/image-more.rkt#l794</a><br>


____________________<br>
  Racket Users list:<br>
  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</blockquote></div>
</div>