static size_t
bool_vector_spare_mask (ptrdiff_t nr_bits)
{
- eassert_and_assume (nr_bits > 0);
+ eassert (nr_bits > 0);
return (((size_t) 1) << (nr_bits % BITS_PER_SIZE_T)) - 1;
}
#if _MSC_VER >= 1500 && (defined _M_IX86 || defined _M_X64)
# define USE_MSC_POPCOUNT
+# define POPCOUNT_STATIC_INLINE static inline
#elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
# define USE_GCC_POPCOUNT
+# if 199901L <= __STDC_VERSION__ || !__STRICT_ANSI__
+# define POPCOUNT_STATIC_INLINE static inline
+# endif
#else
# define NEED_GENERIC_POPCOUNT
#endif
+#ifndef POPCOUNT_STATIC_INLINE
+# define POPCOUNT_STATIC_INLINE static
+#endif
#ifdef USE_MSC_POPCOUNT
-#define NEED_GENERIC_POPCOUNT
+# define NEED_GENERIC_POPCOUNT
#endif
#ifdef NEED_GENERIC_POPCOUNT
-static unsigned int
+POPCOUNT_STATIC_INLINE unsigned int
popcount_size_t_generic (size_t val)
{
unsigned short j;
#endif
#ifdef USE_MSC_POPCOUNT
-static unsigned int
+POPCOUNT_STATIC_INLINE unsigned int
popcount_size_t_msc (size_t val)
{
unsigned int count;
#endif /* USE_MSC_POPCOUNT */
#ifdef USE_GCC_POPCOUNT
-static unsigned int
+POPCOUNT_STATIC_INLINE unsigned int
popcount_size_t_gcc (size_t val)
{
# if BITS_PER_SIZE_T == 64
}
#endif /* USE_GCC_POPCOUNT */
-static unsigned int
+POPCOUNT_STATIC_INLINE unsigned int
popcount_size_t (size_t val)
{
#if defined USE_MSC_POPCOUNT
nr_bits = min (nr_bits, XBOOL_VECTOR (dest)->size);
}
- eassert_and_assume (nr_bits >= 0);
+ eassert (nr_bits >= 0);
nr_words = ROUNDUP (nr_bits, BITS_PER_SIZE_T) / BITS_PER_SIZE_T;
adata = (size_t *) XBOOL_VECTOR (dest)->data;
bdata = (size_t *) XBOOL_VECTOR (b)->data;
adata = (size_t *) XBOOL_VECTOR (a)->data;
- eassert_and_assume (nr_bits >= 0);
+ eassert (nr_bits >= 0);
for (i = 0; i < nr_bits / BITS_PER_SIZE_T; i++)
bdata[i] = ~adata[i];
match = NILP (b) ? (size_t) -1 : 0;
adata = (size_t *) XBOOL_VECTOR (a)->data;
- eassert_and_assume (nr_bits >= 0);
+ eassert (nr_bits >= 0);
for (i = 0; i < nr_bits / BITS_PER_SIZE_T; ++i)
count += popcount_size_t (adata[i] ^ match);