Billy B - 2005-07-08

Logged In: YES
user_id=821871

Ok, I take it back about the garbage values. Turns out I
was picking up the release dll instead of the debug dll when
I was stepping through the debugger.

BUT.. once I got the debug dll in place, I found a curious
thing. These lines:

while ((d = dot((*this)[ni], v)) > h)

were causing the loops to continue even though when I typed
'd>h' in the watch window, the debugger told me it evaluated
to 'false'.

So it think it might be an optimizer error of some sort.

First I tried turning off optimization for polygon.cpp. No
luck. Still got stuck.

Then I noticed the "Floating-Point Consistency" option and
tried setting it to "Improve Consistency /Op" for just
polygon.cpp. THAT seems to do the trick.

FYI, here's my detailed compiler info from the "About" dialog.
Microsoft Visual C++ .NET 69462-270-0000007-18265