On 21 Sep 2005 at 15:24, Nick Piggin wrote:
> john stultz wrote:
>
> >
> >+/* Required to safely shift negative values */
> >+#define shift_right(x, s) ({ \
> >+ __typeof__(x) __x = (x); \
> >+ __typeof__(s) __s = (s); \
> >+ __x < 0 ? -(-__x >> __s) : __x >> __s; \
> >+})
> >+
> >
>
> I'd hate to be the one to make you do another version of this ;)
>
> However, how about having something more descriptive than shift_right?
> signed_shift_right / shift_right_signed, maybe?
Hi,
I'm against "signed shift right", because the reason for the macro is exaclty that
CPUs do a "signed" shift right. John does a "signum(arg) * right_shift(abs(arg),
number_of_positions)". So maybe it's the signed_unsigned_shift_right(), susr() to
be cryptic ;-)
I'm only surprised that there are many places where such a routine is needed, and
still it's missing in sime bitops.h #include.
Regards,
Ulrich
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
|
|