Messages in this thread | | | Date | Thu, 24 Apr 2003 12:31:06 -0400 | From | Timothy Miller <> | Subject | Re: [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/
| |