On 05/02/2017, Yale Zhang <yzhang1...@gmail.com> wrote: > I suggest adding a lrintf() fallback to fallback-c89.c too. > > Currently, there are 2 rounding functions in the fall backs, round() > and rint(), with rint() having the better less biased IEEE > round-to-even behavior for the 0.5 case. > > lrintf() is preferable because it can be done in a single instruction > (round and convert to int) on x86, while (int)round(x) would need 2 > instructions.
i have a nasty feeling that that's why I used it instead of the more obvious code, having read a rant a few months ago about the wonders of lrintf compared to native type conversions in some case where it made a lot of difference. In this case, both speed and precision are not issues as it's only done once, only in high-scale reductions and precision is not important here. Dropping the 0.5 would make no difference. I think I was just being a bit too clever. In general, I suppose adding a fallback lrintf would mean that if anyone else used it in future, the same issue wouldn't crop up again - and if that's a valid reason to add complexity, one should probably implement fallbacks for the whole family - lrint, lrintf, lrintl, llrint, llrintf, llrintl. Cheers M _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-devel-list