[PD] Lost at compilig cyclone ;-((((
Frank Barknecht
fbar at footils.org
Sat Jun 26 19:04:33 CEST 2004
Hallo,
Krzysztof Czaja hat gesagt: // Krzysztof Czaja wrote:
> while without "-O6" it works ok. The bottom line is, that I do not
> know the rules (if there are any).
This one was posted by Simon Jenkins last week on linux-audio-dev:
I (re)discovered the following branch-free method a while ago:
/* branch-free denormal killer (slightly blunt) */
inline float FlushToZero( volatile float f )
{
f += 9.8607615E-32f;
return f - 9.8607615E-32f;
}
/* end */
The people who discovered it first call this method "Elimination
by Quantification".
Its slightly blunt because it damages the precision of extremely
low but not yet denormal numbers: Anything of magnitude < 2 **
-103 loses one bit of precision for each binary order of magnitude
it is below that number. (This means that denormal numbers lose
/all/ of their precision and become zero).
Simon Jenkins
(Bristol, UK)
He later added:
The reason its an inline function rather than a drop-in
replacement macro is because casting macro arguments to volatile
wasn't having the desired effect on the optimiser, whereas this
does.
Maybe it's an alternative to consider in some cases?
Ciao
--
Frank Barknecht _ ______footils.org__
More information about the Pd-list
mailing list