Re: [PATCH] Introduce a boolean "single_bit_set" function.

Robert P. J. Day
2009-04-25T22:10:30Z

On Fri, 24 Apr 2009, Andrew Morton wrote:

> On Fri, 24 Apr 2009 06:40:39 -0400 (EDT) "Robert P. J. Day" <rpjday@crashcourse.ca> wrote:
>
> > so it would be a simple matter to define the bit set boolean in
> > terms of hweight_long(), yes? so what about, in bitops.h:
> >
> > static inline bool
> > exactly_one_bit_set(unsigned long w)
> > {
> > return hweight_long(w) == 1;
> > }
> >
> > static inline bool
> > more_than_one_bit_set(unsigned long w)
> > {
> > return hweight_long(w) > 1;
> > }
> >
> > or something to that effect, *if* people think it's worth it.
> > obviously, none of the above is strictly necessary, but it would make
> > a lot of code semantically cleaner.
> >
>
> Doing plain old
>
> if (hweight32(foo) == 1)
>
> (say) at the call sites quite clearly expresses what the code is trying
> to do.

yes, that seems reasonable. but would you really prefer "hweight32"
over "hweight_long"?

rday
--