On Thu, Aug 2, 2012 at 10:13 AM, Charles Henry <czhenry@email-addr-hidden> wrote:
> On Thu, Aug 2, 2012 at 7:39 AM, Martin Homuth-Rosemann
> <linuxaudio@email-addr-hidden> wrote:
>> {
>> // define an aliasing type to perform a "reinterpret cast"
>> typedef __u32 __attribute__ (( __may_alias__ )) u32bit;
>> if ( *( (u32bit*)&f ) & 0x7F000000 ) // E > 1 : normal.
>
> Is there a 64-bit version of the same? This appears to work with a
> 32-bit unsigned int as a pointer, meaning that it's applicable to
> 32-bits. How does a "reinterpret cast" work?
Wait... I'll answer that one myself. It's applicable to 64-bits. The
u32bit* is whatever size the address space is. So, it doesn't matter.
The reinterpret cast is making this 32-bit float into a 32-bit integer
directly without numerical conversion.
_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-dev
Received on Thu Aug 2 20:15:03 2012
This archive was generated by hypermail 2.1.8 : Thu Aug 02 2012 - 20:15:04 EEST