140865Sbostic /*-
2*62092Sbostic * Copyright (c) 1979, 1993
3*62092Sbostic * The Regents of the University of California. All rights reserved.
440865Sbostic *
540865Sbostic * %sccs.include.redist.c%
640865Sbostic */
71641Smckusick
840865Sbostic #ifndef lint
9*62092Sbostic static char sccsid[] = "@(#)CARD.c 8.1 (Berkeley) 06/06/93";
1040865Sbostic #endif /* not lint */
111641Smckusick
121641Smckusick char _cntbl[] = {
131641Smckusick 0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4,
141641Smckusick 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
151641Smckusick 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
161641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
171641Smckusick 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
181641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
191641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
201641Smckusick 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
211641Smckusick 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5,
221641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
231641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
241641Smckusick 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
251641Smckusick 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6,
261641Smckusick 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
271641Smckusick 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7,
281641Smckusick 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8
291641Smckusick };
301641Smckusick
312996Smckusic long
CARD(setptr,siz)322996Smckusic CARD(setptr, siz)
331641Smckusick
341641Smckusick register unsigned char *setptr;
352996Smckusic long siz;
361641Smckusick {
371641Smckusick register int cnt;
382996Smckusic register int size = siz;
391641Smckusick
401641Smckusick cnt = 0;
411641Smckusick do {
421641Smckusick cnt += _cntbl[*setptr++];
431641Smckusick } while (--size);
441641Smckusick return cnt;
451641Smckusick }
46