On Mon, Feb 25, 2013 at 4:37 PM, Diego Elio Pettenò <flamee...@flameeyes.eu> wrote: > On 25/02/2013 22:32, Rich Freeman wrote: >> That isn't the same as saying that we can just break it in cases where >> it actually is appropriate. Calculating scroll bar movement is >> exactly the sort of thing that this flag was actually designed for - >> you don't care if it is off by 1/100th of a pixel. > > Rich.. please... don't try to talk about things you don't understand. >
A sword that cuts two ways - judging understanding by an email is a dubious proposition, otherwise we wouldn't need job interviews. :) It is just as likely that we're simply miscommunicating. > If Chromium is not building *by itself* on -ffast-math, we should *not* > support building it with it. Full stop. Define what you mean by "building *by itself*" - I don't want to assume I understand what you're getting at here. I certainly wasn't suggesting that you could be able to run CFLAGS="-O2 -ffast-math" emerge chromium and get anything usable. -ffast-math is a flag that should be applied to specific functions or even parts of functions where there is an understood performance vs accuracy tradeoff. > It's not that adding -ffast-math loses the 1/100th precision on a scroll > bar pixel: it has a truckload of changes to the whole mathematics in the > code, which _among other things_ will break that scrollbar, because the > calculation used to display it add up to a huge difference. If you're just using it to calculate how many pixels down it is, it certainly shouldn't be that inaccurate. If you're using it to do pointer arithmetic or something then you're just going to get segfaults. There are arithmetic functions in computing that are discrete/functional in nature, and there are those which relate more to real-world measurements. Adding a 0.001% error to a hash calculation breaks a hash. Adding 0.001% error to a scientific calculation where all the components have 1% measurement error is insignificant. > I would be wondering about it if it broke stuff that > already is designed to rely on it, but even in that case, it's hard to > actually say that it "broke", it's just "different". This is the case I'm concerned with only. Agree somewhat on "broken" being a loose term when the flag is intended to yield inaccurate results. However, it probably is not intended to yield grossly-inaccurate results. Then again, the bug cited things like 5 vs 7 and those are equivalent within an order of magnitude. Rich