whatever i implemented it anyway

This commit is contained in:
cathugger
2021-03-21 17:16:23 +00:00
parent f43c3b021e
commit c9d018a253
3 changed files with 29 additions and 13 deletions

View File

@@ -1,5 +1,6 @@
#include "filters_common.inc.h"
#include "ifilter_bitsum.h"
#ifdef INTFILTER
@@ -80,18 +81,6 @@ static void ifilter_expand(
}
}
static IFT ifilter_bitsum(IFT x)
{
if (sizeof(IFT) == 16)
return (((IFT) 1) <<
(__builtin_popcountll((unsigned long long) (x >> (sizeof(IFT) * 8 / 2))) +
__builtin_popcountll((unsigned long long) x))) - 1;
if (sizeof(IFT) == 8)
return (((IFT) 1) << __builtin_popcountll((unsigned long long) x)) - 1;
return (((IFT) 1) << __builtin_popcount((unsigned int) x)) - 1;
}
static inline void ifilter_addflatten(struct intfilter *ifltr,IFT mask)
{
if (VEC_LENGTH(filters) == 0) {