Skip site navigation (1)Skip section navigation (2)
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>