[linux-audio-dev] swh plugins and fixing undenormalize
Simon Jenkins
sjenkins at blueyonder.co.uk
Sun Jun 27 14:21:47 UTC 2004
Tim Goetze wrote:
>[Tim Blechmann]
>
>
>>On Fri, 25 Jun 2004 17:38:24 -0500
>>Jan Depner <eviltwin69 at cableone.net> wrote:
>>
>>
>>
>>>On Fri, 2004-06-25 at 13:49, Tim Blechmann wrote:
>>>
>>>
>>>>>I have a denormal fix without a branch but you probably don't want
>>>>>to see it ;-)
>>>>> It's pretty simple, just OR the bits of the exponent together
>>>>> which gives either
>>>>>0 (denormal) or 1, typecast that to float, and then multiply the
>>>>>original float by that (0.0 or 1.0). Voila, no branch, but it is
>>>>>messy looking ;-)
>>>>>
>>>>>
>
>indeed sounds more like a fun proposal; nonetheless i'm wondering how
>many cycles 'ORing the exponent bits together' would take. with an
>8-bit exponent and no assumption about its value made, 8 binary
>'shift', 7 'or' and 1 'and' statement if i'm not badly mistaken. and
>if i'm not, a branch will probably hurt less.
>
Three shifts, three copys, three 'or's and an 'and':
copy = value;
value |= copy >> 4;
copy = value;
value |= copy >> 2;
copy = value;
value |= copy >> 1;
value &= 0x01;
More information about the Linux-audio-dev
mailing list