Re: [PATCH] NTP shift_right cleanup (v. A3)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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]
  Powered by Linux