lib/count-one-bits.c


Log

Author Commit Date CI Message
Paul Eggert 75588b6e 2013-10-06T23:43:43 count-one-bits: port to MSC; support types wider than 64 bits The ideas behind the MSC port are stolen from Emacs. * lib/count-one-bits.c (popcount_support) [_MSC_VER]: New variable. * lib/count-one-bits.h: Include limits.h, for CHAR_BIT. Don't include verify.h: it's no longer needed, as types wider than 64 bits are now supported. (COUNT_ONE_BITS_GENERIC): New macro. (popcount_supported) [_MSC_VER]: New inline function. (COUNT_ONE_BITS): Use it. New arg MSC_BUILTIN, for better performance with MSC. All uses changed. Do not assume that TYPE has at most 64 bits. * modules/count-one-bits (Depends-on): Do not depend on 'verify'.
Paul Eggert aa7a0991 2012-11-20T22:25:05 count-one-bits: better 'inline' * lib/count-one-bits.c: New file. * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE): New macro. Replace all uses of 'static inline' with it. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Do not require AC_C_INLINE. * modules/count-one-bits (Files, lib_SOURCES): Add lib/count-one-bits.c. (Depends-on): Add extern-inline.