Re: [RFC] ASLA design, depth of code review and lack thereof

From: Linus Torvalds
Date: Fri Jun 04 2004 - 18:36:22 EST




On Sat, 5 Jun 2004 viro@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx wrote:
>
>
> case SNDRV_PCM_FORMAT_FLOAT_BE:
> {
> union {
> float f;
> u_int32_t i;
> } u;
> u.f = 0.0;
> #ifdef SNDRV_LITTLE_ENDIAN
> return bswap_32(u.i);
> #else
> return u.i;
> #endif

So what I wonder about is why anybody does something like this in the
first place?

Any IEEE format architecture will make 0.0 be all-zeroes, last I saw. In
fact, any architecture (IEEE or not) where that isn't true will have
serious problems with floating point values in bss (hint: the bss isn't
initialzed to 0.0, it's initialized to the bit pattern 0).

So what the above boils dow to is a very very strange way of writing

return 0;

and it has absolutely _zero_ to do with "little-endian" or anything else
for that matter.

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/