All of lore.kernel.org
 help / color / mirror / Atom feed
From: Timothy Miller <miller@techsource.com>
To: root@chaos.analogic.com
Cc: Chuck Ebbert <76306.1226@compuserve.com>,
	Jens Axboe <axboe@suse.de>,
	linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH] 2.4.21-rc1 pointless IDE noise reduction
Date: Thu, 24 Apr 2003 12:31:06 -0400	[thread overview]
Message-ID: <3EA8114A.4020309@techsource.com> (raw)
In-Reply-To: Pine.LNX.4.53.0304241147420.32073@chaos



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




  reply	other threads:[~2003-04-24 16:02 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-04-24 15:25 [PATCH] 2.4.21-rc1 pointless IDE noise reduction Chuck Ebbert
2003-04-24 15:59 ` Richard B. Johnson
2003-04-24 16:31   ` Timothy Miller [this message]
2003-04-24 16:46     ` Richard B. Johnson
2003-04-24 17:15       ` Timothy Miller
2003-04-24 18:27         ` Willy Tarreau
2003-04-24 19:00           ` Timothy Miller
2003-04-25 18:14       ` Bill Davidsen
2003-04-25 18:30         ` Richard B. Johnson
  -- strict thread matches above, loose matches on Subject: below --
2003-04-24 23:25 Chuck Ebbert
2003-04-25 15:08 ` Timothy Miller
2003-04-24  9:34 Erik Andersen
2003-04-24 10:28 ` Jens Axboe
2003-04-27 12:21 ` Adrian Bunk
2003-04-27 17:44   ` Erik Andersen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=3EA8114A.4020309@techsource.com \
    --to=miller@techsource.com \
    --cc=76306.1226@compuserve.com \
    --cc=axboe@suse.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=root@chaos.analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.