Date: Sat, 9 Jul 2011 17:36:28 +0200 From: Ed Schouten <ed@80386.nl> To: Konstantin Belousov <kib@FreeBSD.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223884 - head/sys/sys Message-ID: <20110709153628.GJ16219@hoeg.nl> In-Reply-To: <201107091429.p69ETNNu003910@svn.freebsd.org> References: <201107091429.p69ETNNu003910@svn.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--P6YfpwaDcfcOCJkJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi Kostik, * Konstantin Belousov <kib@FreeBSD.org>, 20110709 16:29: > +static __inline uint16_t > +bitcount16(uint32_t x) Shouldn't we use uint16_t for the argument here? When I saw the code, I thought by myself, this could be done more efficiently: | static __inline uint16_t | bitcount16(uint16_t x) | { | | x =3D (x & 0x5555) + ((x >> 1) & 0x5555); | x =3D (x & 0x3333) + ((x >> 2) & 0x3333); | x *=3D 0x1111; | return (x >> 12); | } But some testing revealed it works for all inputs, except 65536. d'oh! --=20 Ed Schouten <ed@80386.nl> WWW: http://80386.nl/ --P6YfpwaDcfcOCJkJ Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.17 (FreeBSD) iQIcBAEBAgAGBQJOGHV8AAoJEG5e2P40kaK7mcYP/2mExhD7lcmTJRQB/tsrpSB6 XHaqX/0RlYDKErMRDDOnI1oCibkNvDFPFg5QtKg8MqeY9ammqrByFn53k5uTyVrO 2kvx0lZbMeGAUHcRjdOXDEk++EwNmppfnNbSDYkV9N84f6Zf/dB23BxmCr0vrE9B MOWpuZFkoIWQQr8FxjV+Q2AcKC0aOgfVGdj6IBkAiQdX8+MzPvOv3Or8rCgzBScX Vp0WmEuLg6/NCDQHftoFH6DBncNbiFY8DQSbp+4qBoIpESupQHgmqxHxXWLobyIM 59zHXN1z9/MzDmlrgHuM+MiQM9ysxPRsSDTWM3sRV7KCHml1aOvoQSvlSuWuiOz7 Tyavxkn6NNW35RqhIT3muYH9ABUP+cG1qz06IBjecnbcKGHojfBjW6dUY0e4F23A eOAQFdB+HghqpJ83qUnTkdVaSg7QheXvM/KLTI+SGPR/GqUkggtppYLTWWPDvDLl LTrfTeDdDbg3P18iOEHDOugFmgfnqUeB1v/dR2EUkeoIWOEqLbkoaRIh8Fax3Shc Wrl/rOw2QLYtZNSrzPQCj9GWWaNk4vaMbF3trwnTdBcxX39tP28iM8Y3o9sCeSom 9ZJXTnIaV5i8DaIXtzWgaYjTM2YlXlYp/olmyv1ztkd2AIppK5tYKCIJ9RI+jzv4 CServnZ60Z9YhzKi4O6E =03JA -----END PGP SIGNATURE----- --P6YfpwaDcfcOCJkJ--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110709153628.GJ16219>