POV-Ray : Newsgroups : povray.general : Problems with iterations : Re: Problems with iterations Server Time
31 Jul 2024 02:23:40 EDT (-0400)
  Re: Problems with iterations  
From: SharkD
Date: 10 Jan 2008 03:45:01
Message: <web.4785da57f1dc5f73f6ab856c0@news.povray.org>
"Fredrik Eriksson" <noo### [at] nowherecom> wrote:
> On Thu, 10 Jan 2008 08:22:20 +0100, SharkD <nomail@nomail> wrote:
> > "SharkD" <nomail@nomail> wrote:
> >> Check out this test scene:
> >>
> >> #local i = 0;
> >> #local numerator = 1;
> >> #local divisor = 6;
> >> #while(i < numerator)
> >>  #local i = i + numerator/divisor;
> >>  #debug concat("i = ", str(i, 0, -1),"\n")
> >> #end
> >>
> >> Shouldn't the iterations stop when i = 1? What am I doing wrong?
> >
> > Just to be clear, the last entry printed to the Messages panel is "i =
>
> > 1.166667".
>
>
> You should move the variable update (i.e. "#local i = i +...") to the
> end
>
> of the loop. You should also realize that comparing floating point numbe
> rs
>
> like this is problematic at best, and should generally be avoided.
>
>
>
> --
>
> FE

If I move it to the end it will merely say "i = 1.000000". The condition still
should have failed in this case. I.e., the loop should not run past 0.833333.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.