[PATCH] Don't cast double to int: use default conversions or explicitly round.
Simon Thum
simon.thum at gmx.de
Thu Oct 29 06:39:04 PDT 2009
Jamey Sharp wrote:
> -m->LO1I=(int)floor((m->f_lo1/f_ref)+0.5);
> +m->LO1I=lrint(m->f_lo1/f_ref);
As you seem to be the second in-server user of the lrint() gang, I'd
like to ask for any insights concerning this:
http://bugs.freedesktop.org/show_bug.cgi?id=21456#c18
So far, I'm worried whether it isn't better to ditch the implicit
conversions as well (ie. dump floor&ceil, though that sounds ugly). But
that's just because I don't have any explanation why exactly the fix in
the bug did work.
> +++ b/hw/xfree86/parser/Flags.c
> @@ -434,7 +434,7 @@ xf86uLongToString(unsigned long i)
> char *s;
> int l;
>
> - l = (int)(ceil(log10((double)i) + 2.5));
> + l = ceil(log10((double)i) + 2.5);
doesn't lrint(...+3) match better with the rest?
Cheers,
Simon
More information about the xorg-devel
mailing list