count of bits set in a long

Rich Salz rsalz at bbn.com
Thu Sep 27 06:55:58 AEST 1990


X11R4/src/mit/server/dix/devices.c:
    int
    Ones(mask)                /* HACKMEM 169 */
	Mask mask;
    {
	register Mask y;

	y = (mask >> 1) &033333333333;
	y = mask - y - ((y >>1) & 033333333333);
	return (((y + (y >> 3)) & 030707070707) % 077);
    }

X11R4/src/mit/X11/X.h:
    typedef unsigned long Mask;
-- 
Please send comp.sources.unix-related mail to rsalz at uunet.uu.net.
Use a domain-based address or give alternate paths, or you may lose out.



More information about the Comp.lang.c mailing list