lkml.org 
[lkml]   [2003]   [Apr]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] 2.4.21-rc1 pointless IDE noise reduction


Richard B. Johnson wrote:

>On Thu, 24 Apr 2003, Chuck Ebbert wrote:
>
>
>
>>Jens Axboe wrote:
>>
>>
>>
>>
>>>>+ return((drive->id->cfs_enable_1 & 0x0400) ? 1 : 0);
>>>> }
>>>>
>>>>
>>>Seconded, it causes a lot more confusion than it does good.
>>>
>>>
>> The return looks like a function call in that last line.
>>
>> That's one of the few things I find really annoying -- extra parens
>>are fine when they make code clearer, but not there.
>>
>>
>>-------
>> Chuck [ C Style Police, badge #666 ]
>>
>>
>
>return((drive->id->cfs_enable_1 & 0x0400) ? 1 : 0);
> ^^^^^^|__________ wtf?
>These undefined numbers in the code are much more annoying to me...
>but I don't have a C Style Police Badge.
>
>Also, whatever that is, 0x400, I'll call it MASK, can have shorter
>code like:
>
> return (drive->id->cfs_enable_1 && MASK); // TRUE/FALSE
>... for pedantics...
> return (int) (drive->id->cfs_enable_1 && MASK);
>
>
>
>

That wouldn't work, because && isn't a bitwise operator. But I agree
that the ( x ? 1 : 0 ) method may not be very efficient, because it may
involve branches.

Two alternatives:

(a) !!(x & 0x400)

(b) (x & 0x400) >> 10



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

\
 
 \ /
  Last update: 2005-03-22 13:34    [W:0.048 / U:0.260 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site