> Look at the code assuming zoom is exactly 300%:
>
>    if (zoom > 100.0) {
>        zoom = (ceil(zoom / 100.0) - 1) * 100.0;
>
> If there is even the tiniest (rounding) error somewhere then ceil doesn't
> see 300.0/100.0=3.0 but 3.00000000000000000000000001 and the result will
> be 300% again.

You said yourself that small integer numbers should have exact
representation in floating points. I have also experienced some
unexpected rounding issues. I wounder, why I don't see it now.

> It could be argued that since the zoom control doesn't show digits after
> the decimal point (it should round them), the correct code should be
> something that rounds too, like in attached patch.

Nice, this solves both your issue and it is logical from the UI point
of view. Applied.
Udi

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
ufraw-devel mailing list
ufraw-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ufraw-devel

Reply via email to