News for hackers. Stuff that matters.
Re:Why does changing 0.1f to 0 slow down performance by 10x? by jimmybot on Sunday March 11, 2012 @03:17PM (#3691006)
What's an example of 0 having a sign being useful?
Re:Why does changing 0.1f to 0 slow down performance by 10x? by stephencanon on Sunday March 11, 2012 @03:30PM (#3691035)
If you're seriously interested, read Kahan's "Branch Cuts for Complex Elementary Functions (or: Much Ado About Nothing's Sign Bit)".

TLDR: there are some classes of problems for which the sign bit of zero preserves enough important information to get an accurate solution to a problem that would not be possible if you only had an unsigned zero. These happen to turn up in certain types of conformal mappings that are useful for solving certain PDEs.

Re:Why does changing 0.1f to 0 slow down performance by 10x? by lelf on Sunday March 11, 2012 @05:21PM (#3691325)
1/(0-0) = -∞, 1/(0+0) = ∞
Re:Why does changing 0.1f to 0 slow down performance by 10x? by stephencanon on Sunday March 11, 2012 @05:34PM (#3691355)
Actually, (0-0) evaluates to +0 in the default rounding mode, so both of those expressions will typically return +∞.

1/-0 will give you -∞, of course.

Re:Why does changing 0.1f to 0 slow down performance by 10x? by lelf on Sunday March 11, 2012 @08:21PM (#3691787)
Well, I meant it as in math notation, not in C.

(Strictly speaking, 1/0 in C is kaboom! (undefined behaviour))