[ovs-dev] [PATCH 1/2] util: Make ctz() handle 64-bit integers instead of a separate ctz64().
Jarno Rajahalme
jrajahalme at nicira.com
Mon Nov 18 22:54:12 UTC 2013
On Nov 18, 2013, at 2:40 PM, Ben Pfaff <blp at nicira.com> wrote:
> On Mon, Nov 18, 2013 at 02:38:50PM -0800, Jarno Rajahalme wrote:
>> One question still:
>>
>> On Nov 18, 2013, at 1:19 PM, Ben Pfaff <blp at nicira.com> wrote:
>>> return popcount(n) + popcount(n >> 32);
>>> @@ -341,7 +332,7 @@ ctz(uint32_t n)
>>> static inline int
>>> ctz64(uint64_t n)
>>> {
>>> - return n ? raw_ctz64(n) : 64;
>>> + return n ? raw_ctz(n) : 64;
>>> }
>>>
>>
>> Did you intend to define ctz(uint64_t) and not define ctz64() at all?
>
> I got the commit message wrong, sorry. This commit is intended to be
> entirely about raw_ctz() and raw_ctz64(), specifically getting rid of
> the latter. It looks like I got the code right but the commit message
> totally wrong. Here's what I've now edited the commit message to:
>
> util: Make raw_ctz() accept 64-bit integers.
>
> Having a single function that can do raw_ctz() on any integer type is
> easier for callers to get right, and there is no real downside in the
> implementation.
>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> Acked-by: Jarno Rajahalme <jrajahalme at nicira.com>
>
> I think I got confused because originally I did want to get rid of
> ctz64(). However that's not possible with the current definition of
> ctz() and ctz64(), since the return value for n==0 differs in each
> case.
>
> Does the commit make sense with the correct log message?
>
Yes it does, thanks.
Jarno
More information about the dev
mailing list