XWOS API  4.0
XWOS C/C++ API参考手册
载入中...
搜索中...
未找到
位操作 的协作图:

宏定义

#define XWBOP_BIT(n)   ((xwbmp_t)1 << (n))
 
#define XWBOP_BMP_MASK(n)   ((xwbmp_t)1 << (xwbmp_t)((n) % BITS_PER_XWBMP_T))
 
#define XWBOP_BMP(n)   ((n) / BITS_PER_XWBMP_T)
 
#define XWBOP_DIV_ROUND(n, d)   ((n) / (d))
 
#define XWBOP_DIV_ROUND_UP(n, d)   (((n) + (d) - 1U) / (d))
 
#define XWBOP_SHIFT_ROUND(n, s)   ((n) >> (s))
 
#define XWBOP_SHIFT_ROUND_UP(n, s)   (((n) + (1ULL << (s)) - 1ULL) >> (s))
 
#define BITS_TO_XWU8_T(n)   XWBOP_DIV_ROUND_UP(n, BITS_PER_XWU8_T)
 
#define BITS_TO_XWBMP_T(n)   XWBOP_DIV_ROUND_UP(n, BITS_PER_XWU8_T * sizeof(xwbmp_t))
 
#define XWBOP_ROUND(x, n)   ((x) & (~((n) - 1U)))
 
#define XWBOP_ALIGN(x, n)   (((x) + ((n) - 1U)) & (~((n) - 1U)))
 
#define XWBOP_TBIT(x, n)   (((x) >> (n)) & 1U)
 
#define xwbop_s1m8(a, mask)   *(a) |= (mask)
 
#define xwbop_c0m8(a, mask)   *(a) &= (~(mask))
 
#define xwbop_x1m8(a, mask)   *(a) ^= (mask)
 
#define xwbop_s1m16(a, mask)   *(a) |= (mask)
 
#define xwbop_c0m16(a, mask)   *(a) &= (~(mask))
 
#define xwbop_x1m16(a, mask)   *(a) ^= (mask)
 
#define xwbop_s1m32(a, mask)   *(a) |= (mask)
 
#define xwbop_c0m32(a, mask)   *(a) &= (~(mask))
 
#define xwbop_x1m32(a, mask)   *(a) ^= (mask)
 
#define xwbop_s1m64(a64, mask64)   *((xwu64_t *)(a64)) |= (mask64)
 
#define xwbop_c0m64(a64, mask64)   *((xwu64_t *)(a64)) &= (~(mask64))
 
#define xwbop_x1m64(a64, mask64)   *((xwu64_t *)(a64)) ^= (mask64)
 
#define xwbop(type, op, ...)   xwbop_##op##__##type(__VA_ARGS__)
 XWOS BOPLIB:调用位操作函数模板
 
#define xwbop_s1m(type, addr, mask)   xwbop(type, s1m, (addr), (mask))
 XWOS BOPLIB:将数据掩码部分的位全部置1
 
#define xwbop_c0m(type, addr, mask)   xwbop(type, c0m, (addr), (mask))
 XWOS BOPLIB:将数据掩码部分的位全部清0
 
#define xwbop_x1m(type, addr, mask)   xwbop(type, x1m, (addr), (mask))
 XWOS BOPLIB:将数据掩码部分的位全部翻转
 
#define xwbop_rbit(type, data)   xwbop(type, rbit, (data))
 XWOS BOPLIB:将数据的位镜面翻转
 
#define xwbop_re(type, data)   xwbop(type, re, (data))
 XWOS BOPLIB:将数据的大小端翻转
 
#define xwbop_ffs(type, data)   xwbop(type, ffs, (data))
 XWOS BOPLIB:在数据中从最低位起查找第一个被置1的位
 
#define xwbop_fls(type, data)   xwbop(type, fls, (data))
 XWOS BOPLIB:在数据中从最高位起查找第一个被置1的位
 
#define xwbop_ffz(type, data)   xwbop(type, flz, (data))
 XWOS BOPLIB:在数据中从最低位起查找第一个被清0的位
 
#define xwbop_flz(type, data)   xwbop(type, flz, (data))
 XWOS BOPLIB:在数据中从最高位起查找第一个被清0的位
 
#define xwbop_weight(type, data)   xwbop(type, weight, (data))
 XWOS BOPLIB:统计数据中1的个数
 
#define DEFINE_XWBOP_S1M(type, bw)
 定义位操作模板:s1m
 
#define DEFINE_XWBOP_C0M(type, bw)
 定义位操作模板:c0m
 
#define DEFINE_XWBOP_X1M(type, bw)
 定义位操作模板:x1m
 
#define DEFINE_XWBOP_RBIT(type, bw)
 定义位操作模板:rbit
 
#define DEFINE_XWBOP_RE(type, bw)
 定义位操作模板:re
 
#define DEFINE_XWBOP_FFS(type, bw)
 定义位操作模板:ffs
 
#define DEFINE_XWBOP_FLS(type, bw)
 定义位操作模板:fls
 
#define DEFINE_XWBOP_FLZ(type, bw)
 定义位操作模板:flz
 
#define DEFINE_XWBOP_FFZ(type, bw)
 定义位操作模板:ffz
 
#define DEFINE_XWBOP_WEIGHT(type, bw)
 定义位操作模板:weight
 
#define DEFINE_XWBOP(type, bw)
 使用模板为类型定义所有的位操作函数
 
#define xwbmpop_define(name, bits)   xwbmp_t name[BITS_TO_XWBMP_T(bits)]
 XWOS BOPLIB:声明位图
 

函数

xwssq_t xwbop_ffs8 (xwu8_t x)
 
xwssq_t xwbop_fls8 (xwu8_t x)
 
xwssq_t xwbop_ffz8 (xwu8_t x)
 
xwssq_t xwbop_flz8 (xwu8_t x)
 
xwu8_t xwbop_rbit8 (xwu8_t x)
 
static xwu8_t xwbop_re8 (xwu8_t x)
 
xwsz_t xwbop_weight8 (xwu8_t x)
 
xwssq_t xwbop_ffs16 (xwu16_t x)
 
xwssq_t xwbop_fls16 (xwu16_t x)
 
xwssq_t xwbop_ffz16 (xwu16_t x)
 
xwssq_t xwbop_flz16 (xwu16_t x)
 
xwu16_t xwbop_rbit16 (xwu16_t x)
 
xwu16_t xwbop_re16 (xwu16_t a)
 
xwsz_t xwbop_weight16 (xwu16_t x)
 
xwssq_t xwbop_ffs32 (xwu32_t x)
 
xwssq_t xwbop_fls32 (xwu32_t x)
 
xwssq_t xwbop_ffz32 (xwu32_t x)
 
xwssq_t xwbop_flz32 (xwu32_t x)
 
xwu32_t xwbop_rbit32 (xwu32_t x)
 
xwu32_t xwbop_re32 (xwu32_t x)
 
xwsz_t xwbop_weight32 (xwu32_t x)
 
xwssq_t xwbop_ffs64 (xwu64_t x)
 
xwssq_t xwbop_fls64 (xwu64_t x)
 
xwssq_t xwbop_ffz64 (xwu64_t x)
 
xwssq_t xwbop_flz64 (xwu64_t x)
 
xwu64_t xwbop_re64 (xwu64_t x)
 
xwu64_t xwbop_rbit64 (xwu64_t x)
 
xwsz_t xwbop_weight64 (xwu64_t x)
 
static void xwbop_s1m__xwu8_t (xwu8_t *x, xwu8_t m)
 
static void xwbop_c0m__xwu8_t (xwu8_t *x, xwu8_t m)
 
static void xwbop_x1m__xwu8_t (xwu8_t *x, xwu8_t m)
 
static xwu8_t xwbop_rbit__xwu8_t (xwu8_t x)
 
static xwu8_t xwbop_re__xwu8_t (xwu8_t x)
 
static xwssq_t xwbop_ffs__xwu8_t (xwu8_t x)
 
static xwssq_t xwbop_fls__xwu8_t (xwu8_t x)
 
static xwssq_t xwbop_flz__xwu8_t (xwu8_t x)
 
static xwssq_t xwbop_ffz__xwu8_t (xwu8_t x)
 
static xwsq_t xwbop_weight__xwu8_t (xwu8_t x)
 
static void xwbop_s1m__xws8_t (xws8_t *x, xws8_t m)
 
static void xwbop_c0m__xws8_t (xws8_t *x, xws8_t m)
 
static void xwbop_x1m__xws8_t (xws8_t *x, xws8_t m)
 
static xws8_t xwbop_rbit__xws8_t (xws8_t x)
 
static xws8_t xwbop_re__xws8_t (xws8_t x)
 
static xwssq_t xwbop_ffs__xws8_t (xws8_t x)
 
static xwssq_t xwbop_fls__xws8_t (xws8_t x)
 
static xwssq_t xwbop_flz__xws8_t (xws8_t x)
 
static xwssq_t xwbop_ffz__xws8_t (xws8_t x)
 
static xwsq_t xwbop_weight__xws8_t (xws8_t x)
 
static void xwbop_s1m__xwu16_t (xwu16_t *x, xwu16_t m)
 
static void xwbop_c0m__xwu16_t (xwu16_t *x, xwu16_t m)
 
static void xwbop_x1m__xwu16_t (xwu16_t *x, xwu16_t m)
 
static xwu16_t xwbop_rbit__xwu16_t (xwu16_t x)
 
static xwu16_t xwbop_re__xwu16_t (xwu16_t x)
 
static xwssq_t xwbop_ffs__xwu16_t (xwu16_t x)
 
static xwssq_t xwbop_fls__xwu16_t (xwu16_t x)
 
static xwssq_t xwbop_flz__xwu16_t (xwu16_t x)
 
static xwssq_t xwbop_ffz__xwu16_t (xwu16_t x)
 
static xwsq_t xwbop_weight__xwu16_t (xwu16_t x)
 
static void xwbop_s1m__xws16_t (xws16_t *x, xws16_t m)
 
static void xwbop_c0m__xws16_t (xws16_t *x, xws16_t m)
 
static void xwbop_x1m__xws16_t (xws16_t *x, xws16_t m)
 
static xws16_t xwbop_rbit__xws16_t (xws16_t x)
 
static xws16_t xwbop_re__xws16_t (xws16_t x)
 
static xwssq_t xwbop_ffs__xws16_t (xws16_t x)
 
static xwssq_t xwbop_fls__xws16_t (xws16_t x)
 
static xwssq_t xwbop_flz__xws16_t (xws16_t x)
 
static xwssq_t xwbop_ffz__xws16_t (xws16_t x)
 
static xwsq_t xwbop_weight__xws16_t (xws16_t x)
 
static void xwbop_s1m__xwu32_t (xwu32_t *x, xwu32_t m)
 
static void xwbop_c0m__xwu32_t (xwu32_t *x, xwu32_t m)
 
static void xwbop_x1m__xwu32_t (xwu32_t *x, xwu32_t m)
 
static xwu32_t xwbop_rbit__xwu32_t (xwu32_t x)
 
static xwu32_t xwbop_re__xwu32_t (xwu32_t x)
 
static xwssq_t xwbop_ffs__xwu32_t (xwu32_t x)
 
static xwssq_t xwbop_fls__xwu32_t (xwu32_t x)
 
static xwssq_t xwbop_flz__xwu32_t (xwu32_t x)
 
static xwssq_t xwbop_ffz__xwu32_t (xwu32_t x)
 
static xwsq_t xwbop_weight__xwu32_t (xwu32_t x)
 
static void xwbop_s1m__xws32_t (xws32_t *x, xws32_t m)
 
static void xwbop_c0m__xws32_t (xws32_t *x, xws32_t m)
 
static void xwbop_x1m__xws32_t (xws32_t *x, xws32_t m)
 
static xws32_t xwbop_rbit__xws32_t (xws32_t x)
 
static xws32_t xwbop_re__xws32_t (xws32_t x)
 
static xwssq_t xwbop_ffs__xws32_t (xws32_t x)
 
static xwssq_t xwbop_fls__xws32_t (xws32_t x)
 
static xwssq_t xwbop_flz__xws32_t (xws32_t x)
 
static xwssq_t xwbop_ffz__xws32_t (xws32_t x)
 
static xwsq_t xwbop_weight__xws32_t (xws32_t x)
 
static void xwbop_s1m__xwu64_t (xwu64_t *x, xwu64_t m)
 
static void xwbop_c0m__xwu64_t (xwu64_t *x, xwu64_t m)
 
static void xwbop_x1m__xwu64_t (xwu64_t *x, xwu64_t m)
 
static xwu64_t xwbop_rbit__xwu64_t (xwu64_t x)
 
static xwu64_t xwbop_re__xwu64_t (xwu64_t x)
 
static xwssq_t xwbop_ffs__xwu64_t (xwu64_t x)
 
static xwssq_t xwbop_fls__xwu64_t (xwu64_t x)
 
static xwssq_t xwbop_flz__xwu64_t (xwu64_t x)
 
static xwssq_t xwbop_ffz__xwu64_t (xwu64_t x)
 
static xwsq_t xwbop_weight__xwu64_t (xwu64_t x)
 
static void xwbop_s1m__xws64_t (xws64_t *x, xws64_t m)
 
static void xwbop_c0m__xws64_t (xws64_t *x, xws64_t m)
 
static void xwbop_x1m__xws64_t (xws64_t *x, xws64_t m)
 
static xws64_t xwbop_rbit__xws64_t (xws64_t x)
 
static xws64_t xwbop_re__xws64_t (xws64_t x)
 
static xwssq_t xwbop_ffs__xws64_t (xws64_t x)
 
static xwssq_t xwbop_fls__xws64_t (xws64_t x)
 
static xwssq_t xwbop_flz__xws64_t (xws64_t x)
 
static xwssq_t xwbop_ffz__xws64_t (xws64_t x)
 
static xwsq_t xwbop_weight__xws64_t (xws64_t x)
 
static void xwbop_s1m__xwsz_t (xwsz_t *x, xwsz_t m)
 
static void xwbop_c0m__xwsz_t (xwsz_t *x, xwsz_t m)
 
static void xwbop_x1m__xwsz_t (xwsz_t *x, xwsz_t m)
 
static xwsz_t xwbop_rbit__xwsz_t (xwsz_t x)
 
static xwsz_t xwbop_re__xwsz_t (xwsz_t x)
 
static xwssq_t xwbop_ffs__xwsz_t (xwsz_t x)
 
static xwssq_t xwbop_fls__xwsz_t (xwsz_t x)
 
static xwssq_t xwbop_flz__xwsz_t (xwsz_t x)
 
static xwssq_t xwbop_ffz__xwsz_t (xwsz_t x)
 
static xwsq_t xwbop_weight__xwsz_t (xwsz_t x)
 
static void xwbop_s1m__xwptr_t (xwptr_t *x, xwptr_t m)
 
static void xwbop_c0m__xwptr_t (xwptr_t *x, xwptr_t m)
 
static void xwbop_x1m__xwptr_t (xwptr_t *x, xwptr_t m)
 
static xwptr_t xwbop_rbit__xwptr_t (xwptr_t x)
 
static xwptr_t xwbop_re__xwptr_t (xwptr_t x)
 
static xwssq_t xwbop_ffs__xwptr_t (xwptr_t x)
 
static xwssq_t xwbop_fls__xwptr_t (xwptr_t x)
 
static xwssq_t xwbop_flz__xwptr_t (xwptr_t x)
 
static xwssq_t xwbop_ffz__xwptr_t (xwptr_t x)
 
static xwsq_t xwbop_weight__xwptr_t (xwptr_t x)
 
static void xwbop_s1m__xwid_t (xwid_t *x, xwid_t m)
 
static void xwbop_c0m__xwid_t (xwid_t *x, xwid_t m)
 
static void xwbop_x1m__xwid_t (xwid_t *x, xwid_t m)
 
static xwid_t xwbop_rbit__xwid_t (xwid_t x)
 
static xwid_t xwbop_re__xwid_t (xwid_t x)
 
static xwssq_t xwbop_ffs__xwid_t (xwid_t x)
 
static xwssq_t xwbop_fls__xwid_t (xwid_t x)
 
static xwssq_t xwbop_flz__xwid_t (xwid_t x)
 
static xwssq_t xwbop_ffz__xwid_t (xwid_t x)
 
static xwsq_t xwbop_weight__xwid_t (xwid_t x)
 
static void xwbop_s1m__xwreg_t (xwreg_t *x, xwreg_t m)
 
static void xwbop_c0m__xwreg_t (xwreg_t *x, xwreg_t m)
 
static void xwbop_x1m__xwreg_t (xwreg_t *x, xwreg_t m)
 
static xwreg_t xwbop_rbit__xwreg_t (xwreg_t x)
 
static xwreg_t xwbop_re__xwreg_t (xwreg_t x)
 
static xwssq_t xwbop_ffs__xwreg_t (xwreg_t x)
 
static xwssq_t xwbop_fls__xwreg_t (xwreg_t x)
 
static xwssq_t xwbop_flz__xwreg_t (xwreg_t x)
 
static xwssq_t xwbop_ffz__xwreg_t (xwreg_t x)
 
static xwsq_t xwbop_weight__xwreg_t (xwreg_t x)
 
static void xwbop_s1m__xwsq_t (xwsq_t *x, xwsq_t m)
 
static void xwbop_c0m__xwsq_t (xwsq_t *x, xwsq_t m)
 
static void xwbop_x1m__xwsq_t (xwsq_t *x, xwsq_t m)
 
static xwsq_t xwbop_rbit__xwsq_t (xwsq_t x)
 
static xwsq_t xwbop_re__xwsq_t (xwsq_t x)
 
static xwssq_t xwbop_ffs__xwsq_t (xwsq_t x)
 
static xwssq_t xwbop_fls__xwsq_t (xwsq_t x)
 
static xwssq_t xwbop_flz__xwsq_t (xwsq_t x)
 
static xwssq_t xwbop_ffz__xwsq_t (xwsq_t x)
 
static xwsq_t xwbop_weight__xwsq_t (xwsq_t x)
 
static void xwbop_s1m__xwbmp_t (xwbmp_t *x, xwbmp_t m)
 
static void xwbop_c0m__xwbmp_t (xwbmp_t *x, xwbmp_t m)
 
static void xwbop_x1m__xwbmp_t (xwbmp_t *x, xwbmp_t m)
 
static xwbmp_t xwbop_rbit__xwbmp_t (xwbmp_t x)
 
static xwbmp_t xwbop_re__xwbmp_t (xwbmp_t x)
 
static xwssq_t xwbop_ffs__xwbmp_t (xwbmp_t x)
 
static xwssq_t xwbop_fls__xwbmp_t (xwbmp_t x)
 
static xwssq_t xwbop_flz__xwbmp_t (xwbmp_t x)
 
static xwssq_t xwbop_ffz__xwbmp_t (xwbmp_t x)
 
static xwsq_t xwbop_weight__xwbmp_t (xwbmp_t x)
 
static void xwbop_s1m__xwtk_t (xwtk_t *x, xwtk_t m)
 
static void xwbop_c0m__xwtk_t (xwtk_t *x, xwtk_t m)
 
static void xwbop_x1m__xwtk_t (xwtk_t *x, xwtk_t m)
 
static xwtk_t xwbop_rbit__xwtk_t (xwtk_t x)
 
static xwtk_t xwbop_re__xwtk_t (xwtk_t x)
 
static xwssq_t xwbop_ffs__xwtk_t (xwtk_t x)
 
static xwssq_t xwbop_fls__xwtk_t (xwtk_t x)
 
static xwssq_t xwbop_flz__xwtk_t (xwtk_t x)
 
static xwssq_t xwbop_ffz__xwtk_t (xwtk_t x)
 
static xwsq_t xwbop_weight__xwtk_t (xwtk_t x)
 
void xwbmpop_assign (xwbmp_t *bmp, xwbmp_t opd[], xwsz_t num)
 XWOS BOPLIB:赋值操作数到位图
 
xwssq_t xwbmpop_cmp (xwbmp_t *bmp, xwbmp_t opd[], xwsz_t num)
 XWOS BOPLIB:从数组最高元素开始比较两个位图的数值大小
 
void xwbmpop_s1all (xwbmp_t *bmp, xwsq_t num)
 XWOS BOPLIB:将位图中所有位置1
 
void xwbmpop_c0all (xwbmp_t *bmp, xwsq_t num)
 XWOS BOPLIB:将位图中所有位清0
 
void xwbmpop_s1i (xwbmp_t *bmp, xwsq_t n)
 XWOS BOPLIB:将位图中单个位置1
 
void xwbmpop_s1m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:将位图中掩码部分置1
 
void xwbmpop_c0i (xwbmp_t *bmp, xwsq_t n)
 XWOS BOPLIB:将位图中单个位清0
 
void xwbmpop_c0m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:将位图中掩码部分清0
 
void xwbmpop_x1i (xwbmp_t *bmp, xwsq_t n)
 XWOS BOPLIB:将位图中单个位翻转
 
void xwbmpop_x1m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:将位图中掩码部分翻转
 
bool xwbmpop_t1i (xwbmp_t *bmp, xwsq_t n)
 XWOS BOPLIB:测试位图中的单个位是否为1
 
bool xwbmpop_t1ma (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否全部为1
 
bool xwbmpop_t1ma_then_c0m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否全部为1,如果是,就将掩码部分全部清0
 
bool xwbmpop_t1mo (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否至少有一位为1
 
bool xwbmpop_t1mo_then_c0m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否至少有一位为1,如果是,就将掩码部分全部清0
 
bool xwbmpop_t0ma (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否全部为0
 
bool xwbmpop_t0ma_then_s1m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否全部为0,如果是,就将掩码部分全部置1
 
bool xwbmpop_t0mo (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否至少有一位为0
 
bool xwbmpop_t0mo_then_s1m (xwbmp_t *bmp, xwbmp_t msk[], xwsz_t num)
 XWOS BOPLIB:测试位图中掩码部分是否至少有一位为0,如果是,就将掩码部分全部置1
 
void xwbmpop_not (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:将位图按位取反
 
void xwbmpop_and (xwbmp_t *bmp, xwbmp_t opd[], xwsz_t num)
 XWOS BOPLIB:将位图与操作数进行逐位“与”运算
 
void xwbmpop_or (xwbmp_t *bmp, xwbmp_t opd[], xwsz_t num)
 XWOS BOPLIB:将位图与操作数进行逐位“或”运算
 
void xwbmpop_xor (xwbmp_t *bmp, xwbmp_t opd[], xwsz_t num)
 XWOS BOPLIB:将位图与操作数进行逐位“异或”运算
 
xwssq_t xwbmpop_ffs (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:在位图中从最低位起查找第一个被置1的位
 
xwssq_t xwbmpop_ffz (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:在位图中从最低位起查找第一个被清0的位
 
xwssq_t xwbmpop_fls (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:在位图中从最高位起查找第一个被置1的位
 
xwssq_t xwbmpop_flz (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:在位图中从最高位起查找第一个被清0的位
 
xwsz_t xwbmpop_weight (xwbmp_t *bmp, xwsz_t num)
 XWOS BOPLIB:在位图中统计被置1的位的个数
 

详细描述

宏定义说明

◆ BITS_TO_XWBMP_T

#define BITS_TO_XWBMP_T (   n)    XWBOP_DIV_ROUND_UP(n, BITS_PER_XWU8_T * sizeof(xwbmp_t))

在文件 xwbop.h35 行定义.

◆ BITS_TO_XWU8_T

#define BITS_TO_XWU8_T (   n)    XWBOP_DIV_ROUND_UP(n, BITS_PER_XWU8_T)

在文件 xwbop.h34 行定义.

◆ DEFINE_XWBOP

#define DEFINE_XWBOP (   type,
  bw 
)
值:
DEFINE_XWBOP_S1M(type, bw) \
DEFINE_XWBOP_C0M(type, bw) \
DEFINE_XWBOP_X1M(type, bw) \
DEFINE_XWBOP_RBIT(type, bw) \
DEFINE_XWBOP_RE(type, bw) \
DEFINE_XWBOP_FFS(type, bw) \
DEFINE_XWBOP_FLS(type, bw) \
DEFINE_XWBOP_FLZ(type, bw) \
DEFINE_XWBOP_FFZ(type, bw) \
DEFINE_XWBOP_WEIGHT(type, bw)
#define DEFINE_XWBOP_S1M(type, bw)
定义位操作模板:s1m
Definition xwbop.h:209

使用模板为类型定义所有的位操作函数

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h329 行定义.

◆ DEFINE_XWBOP_C0M

#define DEFINE_XWBOP_C0M (   type,
  bw 
)
值:
static __xwlib_inline \
void xwbop_c0m__##type(type * x, type m) \
{ \
xwbop_c0m##bw((xwu##bw##_t *)x, (xwu##bw##_t)m); \
}
#define xwbop_c0m(type, addr, mask)
XWOS BOPLIB:将数据掩码部分的位全部清0
Definition xwbop.h:121

定义位操作模板:c0m

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h221 行定义.

◆ DEFINE_XWBOP_FFS

#define DEFINE_XWBOP_FFS (   type,
  bw 
)
值:
static __xwlib_inline \
xwssq_t xwbop_ffs__##type(type x) \
{ \
return xwbop_ffs##bw((xwu##bw##_t)x); \
}
#define xwbop_ffs(type, data)
XWOS BOPLIB:在数据中从最低位起查找第一个被置1的位
Definition xwbop.h:157

定义位操作模板:ffs

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h269 行定义.

◆ DEFINE_XWBOP_FFZ

#define DEFINE_XWBOP_FFZ (   type,
  bw 
)
值:
static __xwlib_inline \
xwssq_t xwbop_ffz__##type(type x) \
{ \
return xwbop_ffz##bw((xwu##bw##_t)x); \
}
#define xwbop_ffz(type, data)
XWOS BOPLIB:在数据中从最低位起查找第一个被清0的位
Definition xwbop.h:181

定义位操作模板:ffz

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h305 行定义.

◆ DEFINE_XWBOP_FLS

#define DEFINE_XWBOP_FLS (   type,
  bw 
)
值:
static __xwlib_inline \
xwssq_t xwbop_fls__##type(type x) \
{ \
return xwbop_fls##bw((xwu##bw##_t)x); \
}
#define xwbop_fls(type, data)
XWOS BOPLIB:在数据中从最高位起查找第一个被置1的位
Definition xwbop.h:169

定义位操作模板:fls

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h281 行定义.

◆ DEFINE_XWBOP_FLZ

#define DEFINE_XWBOP_FLZ (   type,
  bw 
)
值:
static __xwlib_inline \
xwssq_t xwbop_flz__##type(type x) \
{ \
return xwbop_flz##bw((xwu##bw##_t)x); \
}
#define xwbop_flz(type, data)
XWOS BOPLIB:在数据中从最高位起查找第一个被清0的位
Definition xwbop.h:193

定义位操作模板:flz

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h293 行定义.

◆ DEFINE_XWBOP_RBIT

#define DEFINE_XWBOP_RBIT (   type,
  bw 
)
值:
static __xwlib_inline \
type xwbop_rbit__##type(type x) \
{ \
return (type)xwbop_rbit##bw((xwu##bw##_t)x); \
}
#define xwbop_rbit(type, data)
XWOS BOPLIB:将数据的位镜面翻转
Definition xwbop.h:137

定义位操作模板:rbit

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h245 行定义.

◆ DEFINE_XWBOP_RE

#define DEFINE_XWBOP_RE (   type,
  bw 
)
值:
static __xwlib_inline \
type xwbop_re__##type(type x) \
{ \
return (type)xwbop_re##bw((xwu##bw##_t)x); \
}
#define xwbop_re(type, data)
XWOS BOPLIB:将数据的大小端翻转
Definition xwbop.h:145

定义位操作模板:re

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h257 行定义.

◆ DEFINE_XWBOP_S1M

#define DEFINE_XWBOP_S1M (   type,
  bw 
)
值:
static __xwlib_inline \
void xwbop_s1m__##type(type * x, type m) \
{ \
xwbop_s1m##bw((xwu##bw##_t *)x, (xwu##bw##_t)m); \
}
#define xwbop_s1m(type, addr, mask)
XWOS BOPLIB:将数据掩码部分的位全部置1
Definition xwbop.h:113

定义位操作模板:s1m

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h209 行定义.

◆ DEFINE_XWBOP_WEIGHT

#define DEFINE_XWBOP_WEIGHT (   type,
  bw 
)
值:
static __xwlib_inline \
xwsq_t xwbop_weight__##type(type x) \
{ \
return xwbop_weight##bw((xwu##bw##_t)x); \
}
#define xwbop_weight(type, data)
XWOS BOPLIB:统计数据中1的个数
Definition xwbop.h:201

定义位操作模板:weight

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h317 行定义.

◆ DEFINE_XWBOP_X1M

#define DEFINE_XWBOP_X1M (   type,
  bw 
)
值:
static __xwlib_inline \
void xwbop_x1m__##type(type * x, type m) \
{ \
xwbop_x1m##bw((xwu##bw##_t *)x, (xwu##bw##_t)m); \
}
#define xwbop_x1m(type, addr, mask)
XWOS BOPLIB:将数据掩码部分的位全部翻转
Definition xwbop.h:129

定义位操作模板:x1m

参数
[in]type类型
[in]bw位宽

在文件 xwbop.h233 行定义.

◆ xwbmpop_define

#define xwbmpop_define (   name,
  bits 
)    xwbmp_t name[BITS_TO_XWBMP_T(bits)]

XWOS BOPLIB:声明位图

参数
[in]name符号名
[in]bits位图中的位数

在文件 xwbop.h415 行定义.

◆ xwbop

#define xwbop (   type,
  op,
  ... 
)    xwbop_##op##__##type(__VA_ARGS__)

XWOS BOPLIB:调用位操作函数模板

参数
[in]type数据类型
[in]op位操作函数
[in]...函数的参数

在文件 xwbop.h105 行定义.

◆ XWBOP_ALIGN

#define XWBOP_ALIGN (   x,
 
)    (((x) + ((n) - 1U)) & (~((n) - 1U)))

在文件 xwbop.h37 行定义.

◆ XWBOP_BIT

#define XWBOP_BIT (   n)    ((xwbmp_t)1 << (n))

在文件 xwbop.h27 行定义.

◆ XWBOP_BMP

#define XWBOP_BMP (   n)    ((n) / BITS_PER_XWBMP_T)

在文件 xwbop.h29 行定义.

◆ XWBOP_BMP_MASK

#define XWBOP_BMP_MASK (   n)    ((xwbmp_t)1 << (xwbmp_t)((n) % BITS_PER_XWBMP_T))

在文件 xwbop.h28 行定义.

◆ xwbop_c0m

#define xwbop_c0m (   type,
  addr,
  mask 
)    xwbop(type, c0m, (addr), (mask))

XWOS BOPLIB:将数据掩码部分的位全部清0

参数
[in]type数据类型
[in]addr数据的地址
[in]mask位的掩码

在文件 xwbop.h121 行定义.

◆ xwbop_c0m16

#define xwbop_c0m16 (   a,
  mask 
)    *(a) &= (~(mask))

在文件 xwbop.h61 行定义.

◆ xwbop_c0m32

#define xwbop_c0m32 (   a,
  mask 
)    *(a) &= (~(mask))

在文件 xwbop.h74 行定义.

◆ xwbop_c0m64

#define xwbop_c0m64 (   a64,
  mask64 
)    *((xwu64_t *)(a64)) &= (~(mask64))

在文件 xwbop.h87 行定义.

◆ xwbop_c0m8

#define xwbop_c0m8 (   a,
  mask 
)    *(a) &= (~(mask))

在文件 xwbop.h42 行定义.

◆ XWBOP_DIV_ROUND

#define XWBOP_DIV_ROUND (   n,
 
)    ((n) / (d))

在文件 xwbop.h30 行定义.

◆ XWBOP_DIV_ROUND_UP

#define XWBOP_DIV_ROUND_UP (   n,
 
)    (((n) + (d) - 1U) / (d))

在文件 xwbop.h31 行定义.

◆ xwbop_ffs

#define xwbop_ffs (   type,
  data 
)    xwbop(type, ffs, (data))

XWOS BOPLIB:在数据中从最低位起查找第一个被置1的位

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为1
注解
  • 返回的序号是从0开始编号的,与C标准库中ffs()函数返回值不同。

在文件 xwbop.h157 行定义.

◆ xwbop_ffz

#define xwbop_ffz (   type,
  data 
)    xwbop(type, flz, (data))

XWOS BOPLIB:在数据中从最低位起查找第一个被清0的位

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为0
注解
  • 返回的序号是从0开始编号的。

在文件 xwbop.h181 行定义.

◆ xwbop_fls

#define xwbop_fls (   type,
  data 
)    xwbop(type, fls, (data))

XWOS BOPLIB:在数据中从最高位起查找第一个被置1的位

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为1
注解
  • 返回的序号是从0开始编号的。

在文件 xwbop.h169 行定义.

◆ xwbop_flz

#define xwbop_flz (   type,
  data 
)    xwbop(type, flz, (data))

XWOS BOPLIB:在数据中从最高位起查找第一个被清0的位

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为0
注解
  • 返回的序号是从0开始编号的。

在文件 xwbop.h193 行定义.

◆ xwbop_rbit

#define xwbop_rbit (   type,
  data 
)    xwbop(type, rbit, (data))

XWOS BOPLIB:将数据的位镜面翻转

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
镜面翻转后的结果

在文件 xwbop.h137 行定义.

◆ xwbop_re

#define xwbop_re (   type,
  data 
)    xwbop(type, re, (data))

XWOS BOPLIB:将数据的大小端翻转

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
大小端翻转后的结果

在文件 xwbop.h145 行定义.

◆ XWBOP_ROUND

#define XWBOP_ROUND (   x,
 
)    ((x) & (~((n) - 1U)))

在文件 xwbop.h36 行定义.

◆ xwbop_s1m

#define xwbop_s1m (   type,
  addr,
  mask 
)    xwbop(type, s1m, (addr), (mask))

XWOS BOPLIB:将数据掩码部分的位全部置1

参数
[in]type数据类型
[in]addr数据的地址
[in]mask位的掩码

在文件 xwbop.h113 行定义.

◆ xwbop_s1m16

#define xwbop_s1m16 (   a,
  mask 
)    *(a) |= (mask)

在文件 xwbop.h60 行定义.

◆ xwbop_s1m32

#define xwbop_s1m32 (   a,
  mask 
)    *(a) |= (mask)

在文件 xwbop.h73 行定义.

◆ xwbop_s1m64

#define xwbop_s1m64 (   a64,
  mask64 
)    *((xwu64_t *)(a64)) |= (mask64)

在文件 xwbop.h86 行定义.

◆ xwbop_s1m8

#define xwbop_s1m8 (   a,
  mask 
)    *(a) |= (mask)

在文件 xwbop.h41 行定义.

◆ XWBOP_SHIFT_ROUND

#define XWBOP_SHIFT_ROUND (   n,
 
)    ((n) >> (s))

在文件 xwbop.h32 行定义.

◆ XWBOP_SHIFT_ROUND_UP

#define XWBOP_SHIFT_ROUND_UP (   n,
 
)    (((n) + (1ULL << (s)) - 1ULL) >> (s))

在文件 xwbop.h33 行定义.

◆ XWBOP_TBIT

#define XWBOP_TBIT (   x,
 
)    (((x) >> (n)) & 1U)

在文件 xwbop.h38 行定义.

◆ xwbop_weight

#define xwbop_weight (   type,
  data 
)    xwbop(type, weight, (data))

XWOS BOPLIB:统计数据中1的个数

参数
[in]type数据类型
[in]data数据(注:非指针)
返回
数据中1的个数

在文件 xwbop.h201 行定义.

◆ xwbop_x1m

#define xwbop_x1m (   type,
  addr,
  mask 
)    xwbop(type, x1m, (addr), (mask))

XWOS BOPLIB:将数据掩码部分的位全部翻转

参数
[in]type数据类型
[in]addr数据的地址
[in]mask位的掩码

在文件 xwbop.h129 行定义.

◆ xwbop_x1m16

#define xwbop_x1m16 (   a,
  mask 
)    *(a) ^= (mask)

在文件 xwbop.h62 行定义.

◆ xwbop_x1m32

#define xwbop_x1m32 (   a,
  mask 
)    *(a) ^= (mask)

在文件 xwbop.h75 行定义.

◆ xwbop_x1m64

#define xwbop_x1m64 (   a64,
  mask64 
)    *((xwu64_t *)(a64)) ^= (mask64)

在文件 xwbop.h88 行定义.

◆ xwbop_x1m8

#define xwbop_x1m8 (   a,
  mask 
)    *(a) ^= (mask)

在文件 xwbop.h43 行定义.

函数说明

◆ xwbmpop_and()

void xwbmpop_and ( xwbmp_t bmp,
xwbmp_t  opd[],
xwsz_t  num 
)

XWOS BOPLIB:将位图与操作数进行逐位“与”运算

参数
[in]bmp位图的起始地址指针
[in]opd操作数
[in]num掩码的有效位数

在文件 xwbop.c917 行定义.

918{
919 xwsq_t i;
920 xwsz_t size;
921
922 size = BITS_TO_XWBMP_T(num);
923 for (i = 0; i < size; i++) {
924 bmp[i] &= opd[i];
925 }
926}
unsigned long xwsz_t
Definition type.h:339
unsigned long xwsq_t
Definition type.h:445
#define BITS_TO_XWBMP_T(n)
Definition xwbop.h:35

◆ xwbmpop_assign()

void xwbmpop_assign ( xwbmp_t bmp,
xwbmp_t  opd[],
xwsz_t  num 
)

XWOS BOPLIB:赋值操作数到位图

参数
[in]bmp位图的起始地址指针
[in]opd操作数
[in]num位图中总的位数

在文件 xwbop.c614 行定义.

615{
616 xwsz_t n = BITS_TO_XWBMP_T(num);
617 xwsz_t i;
618
619 for (i = 0; i < n; i++) {
620 bmp[i] = opd[i];
621 }
622}

◆ xwbmpop_c0all()

void xwbmpop_c0all ( xwbmp_t bmp,
xwsq_t  num 
)

XWOS BOPLIB:将位图中所有位清0

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数

在文件 xwbop.c658 行定义.

659{
660 xwsz_t n = BITS_TO_XWBMP_T(num);
661 xwsz_t i;
662
663 for (i = 0; i < n; i++) {
664 xwbop_c0m(xwbmp_t, &bmp[i], (~(xwbmp_t)0));
665 }
666}
xwu32_t xwbmp_t
Definition type.h:574

◆ xwbmpop_c0i()

void xwbmpop_c0i ( xwbmp_t bmp,
xwsq_t  n 
)

XWOS BOPLIB:将位图中单个位清0

参数
[in]bmp位图的起始地址指针
[in]n被清0的位的序号

◆ xwbmpop_c0m()

void xwbmpop_c0m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:将位图中掩码部分清0

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数

在文件 xwbop.c699 行定义.

700{
701 xwsq_t i;
702 xwsz_t size;
703
704 size = BITS_TO_XWBMP_T(num);
705 for (i = 0; i < size; i++) {
706 xwbop_c0m(xwbmp_t, &bmp[i], msk[i]);
707 }
708}

◆ xwbmpop_cmp()

xwssq_t xwbmpop_cmp ( xwbmp_t bmp,
xwbmp_t  opd[],
xwsz_t  num 
)

XWOS BOPLIB:从数组最高元素开始比较两个位图的数值大小

参数
[in]bmp位图的起始地址指针
[in]opd操作数
[in]num位图中总的位数
返回
比较结果
返回值
0相等
<0小于
>0大于

在文件 xwbop.c625 行定义.

626{
627 xwsz_t n = BITS_TO_XWBMP_T(num);
628 xwsz_t i;
629 xwsz_t j;
630 xwssq_t ret;
631
632 ret = 0;
633 for (j = n; j > (xwsz_t)0; j--) { // cppcheck-suppress [misra-c2012-15.4]
634 i = j - (xwsz_t)1;
635 if (bmp[i] < opd[i]) {
636 ret = -1;
637 break;
638 } else if (bmp[i] > opd[i]) {
639 ret = 1;
640 break;
641 } else {}
642 }
643 return ret;
644}
signed long xwssq_t
Definition type.h:461

◆ xwbmpop_ffs()

xwssq_t xwbmpop_ffs ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:在位图中从最低位起查找第一个被置1的位

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为1
注解
  • 返回的序号是从0开始编号的,与C标准库中 ffs() 函数返回值不同。

◆ xwbmpop_ffz()

xwssq_t xwbmpop_ffz ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:在位图中从最低位起查找第一个被清0的位

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位被清0
注解
  • 返回的序号是从0开始编号的,与C标准库中 ffs() 函数返回值不同。

◆ xwbmpop_fls()

xwssq_t xwbmpop_fls ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:在位图中从最高位起查找第一个被置1的位

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为1
注解
  • 返回的序号是从0开始编号的,与C标准库中 ffs() 函数返回值不同。

◆ xwbmpop_flz()

xwssq_t xwbmpop_flz ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:在位图中从最高位起查找第一个被清0的位

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数
返回
位的序号
返回值
>=0位的序号
-1没有任何一个位为0
注解
  • 返回的序号是从0开始编号的,与C标准库中 ffs() 函数返回值不同。

◆ xwbmpop_not()

void xwbmpop_not ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:将位图按位取反

参数
[in]bmp位图的起始地址指针
[in]num掩码的有效位数

在文件 xwbop.c905 行定义.

906{
907 xwsq_t i;
908 xwsz_t size;
909
910 size = BITS_TO_XWBMP_T(num);
911 for (i = 0; i < size; i++) {
912 bmp[i] = ~bmp[i];
913 }
914}

◆ xwbmpop_or()

void xwbmpop_or ( xwbmp_t bmp,
xwbmp_t  opd[],
xwsz_t  num 
)

XWOS BOPLIB:将位图与操作数进行逐位“或”运算

参数
[in]bmp位图的起始地址指针
[in]opd操作数
[in]num掩码的有效位数

在文件 xwbop.c929 行定义.

930{
931 xwsq_t i;
932 xwsz_t size;
933
934 size = BITS_TO_XWBMP_T(num);
935 for (i = 0; i < size; i++) {
936 bmp[i] |= opd[i];
937 }
938}

◆ xwbmpop_s1all()

void xwbmpop_s1all ( xwbmp_t bmp,
xwsq_t  num 
)

XWOS BOPLIB:将位图中所有位置1

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数

在文件 xwbop.c647 行定义.

648{
649 xwsz_t n = BITS_TO_XWBMP_T(num);
650 xwsz_t i;
651
652 for (i = 0; i < n; i++) {
653 xwbop_s1m(xwbmp_t, &bmp[i], (~(xwbmp_t)0));
654 }
655}

◆ xwbmpop_s1i()

void xwbmpop_s1i ( xwbmp_t bmp,
xwsq_t  n 
)

XWOS BOPLIB:将位图中单个位置1

参数
[in]bmp位图的起始地址指针
[in]n位的序号

◆ xwbmpop_s1m()

void xwbmpop_s1m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:将位图中掩码部分置1

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数

在文件 xwbop.c678 行定义.

679{
680 xwsq_t i;
681 xwsz_t size;
682
683 size = BITS_TO_XWBMP_T(num);
684 for (i = 0; i < size; i++) {
685 xwbop_s1m(xwbmp_t, &bmp[i], msk[i]);
686 }
687}

◆ xwbmpop_t0ma()

bool xwbmpop_t0ma ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否全部为0

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true全部为0
false至少一位为1

在文件 xwbop.c823 行定义.

824{
825 xwsq_t i;
826 xwsz_t size;
827 bool ret;
828
829 size = BITS_TO_XWBMP_T(num);
830 ret = false;
831 for (i = 0; i < size; i++) {
832 ret = !(bmp[i] & msk[i]);
833 if (!ret) {
834 break;
835 }
836 }
837 return ret;
838}

◆ xwbmpop_t0ma_then_s1m()

bool xwbmpop_t0ma_then_s1m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否全部为0,如果是,就将掩码部分全部置1

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true全部为0
false至少一位为1

在文件 xwbop.c841 行定义.

842{
843 xwsq_t i;
844 xwsz_t size;
845 bool ret;
846
847 size = BITS_TO_XWBMP_T(num);
848 ret = false;
849 for (i = 0; i < size; i++) {
850 ret = !(bmp[i] & msk[i]);
851 if (!ret) {
852 break;
853 }
854 }
855 if (ret) {
856 for (i = 0; i < size; i++) {
857 xwbop_s1m(xwbmp_t, &bmp[i], msk[i]);
858 }
859 }
860 return ret;
861}

◆ xwbmpop_t0mo()

bool xwbmpop_t0mo ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否至少有一位为0

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true至少一位为0
false全部为1

在文件 xwbop.c864 行定义.

865{
866 xwsq_t i;
867 xwsz_t size;
868 bool ret;
869
870 size = BITS_TO_XWBMP_T(num);
871 ret = false;
872 for (i = 0; i < size; i++) {
873 ret = !!((bmp[i] & msk[i]) != msk[i]);
874 if (ret) {
875 break;
876 }
877 }
878 return ret;
879}

◆ xwbmpop_t0mo_then_s1m()

bool xwbmpop_t0mo_then_s1m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否至少有一位为0,如果是,就将掩码部分全部置1

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true至少一位为0
false全部为1

在文件 xwbop.c882 行定义.

883{
884 xwsq_t i;
885 xwsz_t size;
886 bool ret;
887
888 size = BITS_TO_XWBMP_T(num);
889 ret = false;
890 for (i = 0; i < size; i++) {
891 ret = !!((bmp[i] & msk[i]) != msk[i]);
892 if (ret) {
893 break;
894 }
895 }
896 if (ret) {
897 for (i = 0; i < size; i++) {
898 xwbop_s1m(xwbmp_t, &bmp[i], msk[i]);
899 }
900 }
901 return ret;
902}

◆ xwbmpop_t1i()

bool xwbmpop_t1i ( xwbmp_t bmp,
xwsq_t  n 
)

XWOS BOPLIB:测试位图中的单个位是否为1

参数
[in]bmp位图的起始地址指针
[in]n被测试的位的序号
返回
布尔值
返回值
true置位
false复位

◆ xwbmpop_t1ma()

bool xwbmpop_t1ma ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否全部为1

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true全部为1
false至少一位为0

在文件 xwbop.c741 行定义.

742{
743 xwsq_t i;
744 xwsz_t size;
745 bool ret;
746
747 size = BITS_TO_XWBMP_T(num);
748 ret = false;
749 for (i = 0; i < size; i++) {
750 ret = !!((bmp[i] & msk[i]) == msk[i]);
751 if (!ret) {
752 break;
753 }
754 }
755 return ret;
756}

◆ xwbmpop_t1ma_then_c0m()

bool xwbmpop_t1ma_then_c0m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否全部为1,如果是,就将掩码部分全部清0

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true全部为1
false至少一位为0

在文件 xwbop.c759 行定义.

760{
761 xwsq_t i;
762 xwsz_t size;
763 bool ret;
764
765 size = BITS_TO_XWBMP_T(num);
766 ret = false;
767 for (i = 0; i < size; i++) {
768 ret = !!((bmp[i] & msk[i]) == msk[i]);
769 if (!ret) {
770 break;
771 }
772 }
773 if (ret) {
774 for (i = 0; i < size; i++) {
775 xwbop_c0m(xwbmp_t, &bmp[i], msk[i]);
776 }
777 }
778 return ret;
779}

◆ xwbmpop_t1mo()

bool xwbmpop_t1mo ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否至少有一位为1

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true至少一位为1
false全部为0

在文件 xwbop.c782 行定义.

783{
784 xwsq_t i;
785 xwsz_t size;
786 bool ret;
787
788 size = BITS_TO_XWBMP_T(num);
789 ret = false;
790 for (i = 0; i < size; i++) {
791 ret = !!(bmp[i] & msk[i]);
792 if (ret) {
793 break;
794 }
795 }
796 return ret;
797}

◆ xwbmpop_t1mo_then_c0m()

bool xwbmpop_t1mo_then_c0m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:测试位图中掩码部分是否至少有一位为1,如果是,就将掩码部分全部清0

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数
返回
布尔值
返回值
true至少一位为1
false全部为0

在文件 xwbop.c800 行定义.

801{
802 xwsq_t i;
803 xwsz_t size;
804 bool ret;
805
806 size = BITS_TO_XWBMP_T(num);
807 ret = false;
808 for (i = 0; i < size; i++) {
809 ret = !!(bmp[i] & msk[i]);
810 if (ret) {
811 break;
812 }
813 }
814 if (ret) {
815 for (i = 0; i < size; i++) {
816 xwbop_c0m(xwbmp_t, &bmp[i], msk[i]);
817 }
818 }
819 return ret;
820}

◆ xwbmpop_weight()

xwsz_t xwbmpop_weight ( xwbmp_t bmp,
xwsz_t  num 
)

XWOS BOPLIB:在位图中统计被置1的位的个数

参数
[in]bmp位图的起始地址指针
[in]num位图中总的位数
返回
数据中1的个数

在文件 xwbop.c1063 行定义.

1064{
1065 xwsz_t i;
1066 xwsz_t n;
1067 xwsz_t res;
1068
1069 res = 0;
1070 n = BITS_TO_XWBMP_T(num);
1071 for (i = 0; i < n; i++) {
1072 res += xwbop_weight(xwbmp_t, bmp[i]);
1073 }
1074 return res;
1075}

◆ xwbmpop_x1i()

void xwbmpop_x1i ( xwbmp_t bmp,
xwsq_t  n 
)

XWOS BOPLIB:将位图中单个位翻转

参数
[in]bmp位图的起始地址指针
[in]n被翻转的位的序号

◆ xwbmpop_x1m()

void xwbmpop_x1m ( xwbmp_t bmp,
xwbmp_t  msk[],
xwsz_t  num 
)

XWOS BOPLIB:将位图中掩码部分翻转

参数
[in]bmp位图的起始地址指针
[in]msk掩码
[in]num掩码的有效位数

在文件 xwbop.c720 行定义.

721{
722 xwsq_t i;
723 xwsz_t size;
724
725 size = BITS_TO_XWBMP_T(num);
726 for (i = 0; i < size; i++) {
727 xwbop_x1m(xwbmp_t, &bmp[i], msk[i]);
728 }
729}

◆ xwbmpop_xor()

void xwbmpop_xor ( xwbmp_t bmp,
xwbmp_t  opd[],
xwsz_t  num 
)

XWOS BOPLIB:将位图与操作数进行逐位“异或”运算

参数
[in]bmp位图的起始地址指针
[in]opd操作数
[in]num掩码的有效位数

在文件 xwbop.c941 行定义.

942{
943 xwsq_t i;
944 xwsz_t size;
945
946 size = BITS_TO_XWBMP_T(num);
947 for (i = 0; i < size; i++) {
948 bmp[i] ^= opd[i];
949 }
950}

◆ xwbop_c0m__xwbmp_t()

static void xwbop_c0m__xwbmp_t ( xwbmp_t x,
xwbmp_t  m 
)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_c0m__xwid_t()

static void xwbop_c0m__xwid_t ( xwid_t x,
xwid_t  m 
)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_c0m__xwptr_t()

static void xwbop_c0m__xwptr_t ( xwptr_t x,
xwptr_t  m 
)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_c0m__xwreg_t()

static void xwbop_c0m__xwreg_t ( xwreg_t x,
xwreg_t  m 
)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_c0m__xws16_t()

static void xwbop_c0m__xws16_t ( xws16_t x,
xws16_t  m 
)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_c0m__xws32_t()

static void xwbop_c0m__xws32_t ( xws32_t x,
xws32_t  m 
)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_c0m__xws64_t()

static void xwbop_c0m__xws64_t ( xws64_t x,
xws64_t  m 
)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_c0m__xws8_t()

static void xwbop_c0m__xws8_t ( xws8_t x,
xws8_t  m 
)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_c0m__xwsq_t()

static void xwbop_c0m__xwsq_t ( xwsq_t x,
xwsq_t  m 
)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_c0m__xwsz_t()

static void xwbop_c0m__xwsz_t ( xwsz_t x,
xwsz_t  m 
)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_c0m__xwtk_t()

static void xwbop_c0m__xwtk_t ( xwtk_t x,
xwtk_t  m 
)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_c0m__xwu16_t()

static void xwbop_c0m__xwu16_t ( xwu16_t x,
xwu16_t  m 
)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_c0m__xwu32_t()

static void xwbop_c0m__xwu32_t ( xwu32_t x,
xwu32_t  m 
)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_c0m__xwu64_t()

static void xwbop_c0m__xwu64_t ( xwu64_t x,
xwu64_t  m 
)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_c0m__xwu8_t()

static void xwbop_c0m__xwu8_t ( xwu8_t x,
xwu8_t  m 
)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_ffs16()

xwssq_t xwbop_ffs16 ( xwu16_t  x)
这是这个函数的调用关系图:

◆ xwbop_ffs32()

xwssq_t xwbop_ffs32 ( xwu32_t  x)
这是这个函数的调用关系图:

◆ xwbop_ffs64()

xwssq_t xwbop_ffs64 ( xwu64_t  x)
这是这个函数的调用关系图:

◆ xwbop_ffs8()

xwssq_t xwbop_ffs8 ( xwu8_t  x)
这是这个函数的调用关系图:

◆ xwbop_ffs__xwbmp_t()

static xwssq_t xwbop_ffs__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_ffs__xwid_t()

static xwssq_t xwbop_ffs__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_ffs__xwptr_t()

static xwssq_t xwbop_ffs__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_ffs__xwreg_t()

static xwssq_t xwbop_ffs__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_ffs__xws16_t()

static xwssq_t xwbop_ffs__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_ffs__xws32_t()

static xwssq_t xwbop_ffs__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_ffs__xws64_t()

static xwssq_t xwbop_ffs__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_ffs__xws8_t()

static xwssq_t xwbop_ffs__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_ffs__xwsq_t()

static xwssq_t xwbop_ffs__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_ffs__xwsz_t()

static xwssq_t xwbop_ffs__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_ffs__xwtk_t()

static xwssq_t xwbop_ffs__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_ffs__xwu16_t()

static xwssq_t xwbop_ffs__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_ffs__xwu32_t()

static xwssq_t xwbop_ffs__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_ffs__xwu64_t()

static xwssq_t xwbop_ffs__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_ffs__xwu8_t()

static xwssq_t xwbop_ffs__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_ffz16()

xwssq_t xwbop_ffz16 ( xwu16_t  x)

在文件 xwbop.c214 行定义.

215{
216 return xwbop_ffs16((xwu16_t)(~x));
217}
uint16_t xwu16_t
Definition type.h:230
xwssq_t xwbop_ffs16(xwu16_t x)
函数调用图:

◆ xwbop_ffz32()

xwssq_t xwbop_ffz32 ( xwu32_t  x)

在文件 xwbop.c360 行定义.

361{
362 return xwbop_ffs32(~x);
363}
xwssq_t xwbop_ffs32(xwu32_t x)
函数调用图:

◆ xwbop_ffz64()

xwssq_t xwbop_ffz64 ( xwu64_t  x)

在文件 xwbop.c524 行定义.

525{
526 return xwbop_ffs64(~x);
527}
xwssq_t xwbop_ffs64(xwu64_t x)
函数调用图:

◆ xwbop_ffz8()

xwssq_t xwbop_ffz8 ( xwu8_t  x)

在文件 xwbop.c106 行定义.

107{
108 return xwbop_ffs8((xwu8_t)(~x));
109}
uint8_t xwu8_t
Definition type.h:194
xwssq_t xwbop_ffs8(xwu8_t x)
函数调用图:

◆ xwbop_ffz__xwbmp_t()

static xwssq_t xwbop_ffz__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_ffz__xwid_t()

static xwssq_t xwbop_ffz__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_ffz__xwptr_t()

static xwssq_t xwbop_ffz__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_ffz__xwreg_t()

static xwssq_t xwbop_ffz__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_ffz__xws16_t()

static xwssq_t xwbop_ffz__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_ffz__xws32_t()

static xwssq_t xwbop_ffz__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_ffz__xws64_t()

static xwssq_t xwbop_ffz__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_ffz__xws8_t()

static xwssq_t xwbop_ffz__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_ffz__xwsq_t()

static xwssq_t xwbop_ffz__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_ffz__xwsz_t()

static xwssq_t xwbop_ffz__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_ffz__xwtk_t()

static xwssq_t xwbop_ffz__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_ffz__xwu16_t()

static xwssq_t xwbop_ffz__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_ffz__xwu32_t()

static xwssq_t xwbop_ffz__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_ffz__xwu64_t()

static xwssq_t xwbop_ffz__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_ffz__xwu8_t()

static xwssq_t xwbop_ffz__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_fls16()

xwssq_t xwbop_fls16 ( xwu16_t  x)
这是这个函数的调用关系图:

◆ xwbop_fls32()

xwssq_t xwbop_fls32 ( xwu32_t  x)
这是这个函数的调用关系图:

◆ xwbop_fls64()

xwssq_t xwbop_fls64 ( xwu64_t  x)

◆ xwbop_fls8()

xwssq_t xwbop_fls8 ( xwu8_t  x)
这是这个函数的调用关系图:

◆ xwbop_fls__xwbmp_t()

static xwssq_t xwbop_fls__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_fls__xwid_t()

static xwssq_t xwbop_fls__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_fls__xwptr_t()

static xwssq_t xwbop_fls__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_fls__xwreg_t()

static xwssq_t xwbop_fls__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_fls__xws16_t()

static xwssq_t xwbop_fls__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_fls__xws32_t()

static xwssq_t xwbop_fls__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_fls__xws64_t()

static xwssq_t xwbop_fls__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_fls__xws8_t()

static xwssq_t xwbop_fls__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_fls__xwsq_t()

static xwssq_t xwbop_fls__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_fls__xwsz_t()

static xwssq_t xwbop_fls__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_fls__xwtk_t()

static xwssq_t xwbop_fls__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_fls__xwu16_t()

static xwssq_t xwbop_fls__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_fls__xwu32_t()

static xwssq_t xwbop_fls__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_fls__xwu64_t()

static xwssq_t xwbop_fls__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_fls__xwu8_t()

static xwssq_t xwbop_fls__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_flz16()

xwssq_t xwbop_flz16 ( xwu16_t  x)

在文件 xwbop.c222 行定义.

223{
224 return xwbop_fls16((xwu16_t)(~x));
225}
xwssq_t xwbop_fls16(xwu16_t x)
函数调用图:

◆ xwbop_flz32()

xwssq_t xwbop_flz32 ( xwu32_t  x)

在文件 xwbop.c368 行定义.

369{
370 return xwbop_fls32(~x);
371}
xwssq_t xwbop_fls32(xwu32_t x)
函数调用图:

◆ xwbop_flz64()

xwssq_t xwbop_flz64 ( xwu64_t  x)

在文件 xwbop.c532 行定义.

533{
534 return xwbop_ffs64(~x);
535}
函数调用图:

◆ xwbop_flz8()

xwssq_t xwbop_flz8 ( xwu8_t  x)

在文件 xwbop.c114 行定义.

115{
116 return xwbop_fls8((xwu8_t)(~x));
117}
xwssq_t xwbop_fls8(xwu8_t x)
函数调用图:

◆ xwbop_flz__xwbmp_t()

static xwssq_t xwbop_flz__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_flz__xwid_t()

static xwssq_t xwbop_flz__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_flz__xwptr_t()

static xwssq_t xwbop_flz__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_flz__xwreg_t()

static xwssq_t xwbop_flz__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_flz__xws16_t()

static xwssq_t xwbop_flz__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_flz__xws32_t()

static xwssq_t xwbop_flz__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_flz__xws64_t()

static xwssq_t xwbop_flz__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_flz__xws8_t()

static xwssq_t xwbop_flz__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_flz__xwsq_t()

static xwssq_t xwbop_flz__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_flz__xwsz_t()

static xwssq_t xwbop_flz__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_flz__xwtk_t()

static xwssq_t xwbop_flz__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_flz__xwu16_t()

static xwssq_t xwbop_flz__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_flz__xwu32_t()

static xwssq_t xwbop_flz__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_flz__xwu64_t()

static xwssq_t xwbop_flz__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_flz__xwu8_t()

static xwssq_t xwbop_flz__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_rbit16()

xwu16_t xwbop_rbit16 ( xwu16_t  x)

◆ xwbop_rbit32()

xwu32_t xwbop_rbit32 ( xwu32_t  x)
这是这个函数的调用关系图:

◆ xwbop_rbit64()

xwu64_t xwbop_rbit64 ( xwu64_t  x)

◆ xwbop_rbit8()

xwu8_t xwbop_rbit8 ( xwu8_t  x)
这是这个函数的调用关系图:

◆ xwbop_rbit__xwbmp_t()

static xwbmp_t xwbop_rbit__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_rbit__xwid_t()

static xwid_t xwbop_rbit__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_rbit__xwptr_t()

static xwptr_t xwbop_rbit__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_rbit__xwreg_t()

static xwreg_t xwbop_rbit__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_rbit__xws16_t()

static xws16_t xwbop_rbit__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_rbit__xws32_t()

static xws32_t xwbop_rbit__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_rbit__xws64_t()

static xws64_t xwbop_rbit__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_rbit__xws8_t()

static xws8_t xwbop_rbit__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_rbit__xwsq_t()

static xwsq_t xwbop_rbit__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_rbit__xwsz_t()

static xwsz_t xwbop_rbit__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_rbit__xwtk_t()

static xwtk_t xwbop_rbit__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_rbit__xwu16_t()

static xwu16_t xwbop_rbit__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_rbit__xwu32_t()

static xwu32_t xwbop_rbit__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_rbit__xwu64_t()

static xwu64_t xwbop_rbit__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_rbit__xwu8_t()

static xwu8_t xwbop_rbit__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_re16()

xwu16_t xwbop_re16 ( xwu16_t  a)

◆ xwbop_re32()

xwu32_t xwbop_re32 ( xwu32_t  x)

◆ xwbop_re64()

xwu64_t xwbop_re64 ( xwu64_t  x)

◆ xwbop_re8()

static xwu8_t xwbop_re8 ( xwu8_t  x)
inlinestatic

在文件 xwbop.h52 行定义.

53{
54 return x;
55}

◆ xwbop_re__xwbmp_t()

static xwbmp_t xwbop_re__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_re__xwid_t()

static xwid_t xwbop_re__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_re__xwptr_t()

static xwptr_t xwbop_re__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_re__xwreg_t()

static xwreg_t xwbop_re__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_re__xws16_t()

static xws16_t xwbop_re__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_re__xws32_t()

static xws32_t xwbop_re__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_re__xws64_t()

static xws64_t xwbop_re__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_re__xws8_t()

static xws8_t xwbop_re__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_re__xwsq_t()

static xwsq_t xwbop_re__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_re__xwsz_t()

static xwsz_t xwbop_re__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_re__xwtk_t()

static xwtk_t xwbop_re__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_re__xwu16_t()

static xwu16_t xwbop_re__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_re__xwu32_t()

static xwu32_t xwbop_re__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_re__xwu64_t()

static xwu64_t xwbop_re__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_re__xwu8_t()

static xwu8_t xwbop_re__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_s1m__xwbmp_t()

static void xwbop_s1m__xwbmp_t ( xwbmp_t x,
xwbmp_t  m 
)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_s1m__xwid_t()

static void xwbop_s1m__xwid_t ( xwid_t x,
xwid_t  m 
)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_s1m__xwptr_t()

static void xwbop_s1m__xwptr_t ( xwptr_t x,
xwptr_t  m 
)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_s1m__xwreg_t()

static void xwbop_s1m__xwreg_t ( xwreg_t x,
xwreg_t  m 
)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_s1m__xws16_t()

static void xwbop_s1m__xws16_t ( xws16_t x,
xws16_t  m 
)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_s1m__xws32_t()

static void xwbop_s1m__xws32_t ( xws32_t x,
xws32_t  m 
)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_s1m__xws64_t()

static void xwbop_s1m__xws64_t ( xws64_t x,
xws64_t  m 
)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_s1m__xws8_t()

static void xwbop_s1m__xws8_t ( xws8_t x,
xws8_t  m 
)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_s1m__xwsq_t()

static void xwbop_s1m__xwsq_t ( xwsq_t x,
xwsq_t  m 
)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_s1m__xwsz_t()

static void xwbop_s1m__xwsz_t ( xwsz_t x,
xwsz_t  m 
)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_s1m__xwtk_t()

static void xwbop_s1m__xwtk_t ( xwtk_t x,
xwtk_t  m 
)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_s1m__xwu16_t()

static void xwbop_s1m__xwu16_t ( xwu16_t x,
xwu16_t  m 
)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_s1m__xwu32_t()

static void xwbop_s1m__xwu32_t ( xwu32_t x,
xwu32_t  m 
)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_s1m__xwu64_t()

static void xwbop_s1m__xwu64_t ( xwu64_t x,
xwu64_t  m 
)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_s1m__xwu8_t()

static void xwbop_s1m__xwu8_t ( xwu8_t x,
xwu8_t  m 
)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_weight16()

xwsz_t xwbop_weight16 ( xwu16_t  x)

在文件 xwbop.c267 行定义.

268{
269 xwu16_t res = x - ((x >> (xwu16_t)1) & (xwu16_t)0x5555);
270 res = (res & (xwu16_t)0x3333) + ((res >> (xwu16_t)2) & (xwu16_t)0x3333);
271 res = (res + (res >> (xwu16_t)4)) & (xwu16_t)0x0F0F;
272 return (res + (res >> (xwu16_t)8)) & (xwu16_t)0x00FF;
273}

◆ xwbop_weight32()

xwsz_t xwbop_weight32 ( xwu32_t  x)

在文件 xwbop.c421 行定义.

422{
423 xwu32_t res = x - ((x >> (xwu32_t)1) & (xwu32_t)0x55555555);
424 res = (res & (xwu32_t)0x33333333) + ((res >> (xwu32_t)2) & (xwu32_t)0x33333333);
425 res = (res + (res >> (xwu32_t)4)) & (xwu32_t)0x0F0F0F0F;
426 res = res + (res >> (xwu32_t)8);
427 return (res + (res >> (xwu32_t)16)) & (xwu32_t)0x000000FF;
428}
uint32_t xwu32_t
Definition type.h:266

◆ xwbop_weight64()

xwsz_t xwbop_weight64 ( xwu64_t  x)

在文件 xwbop.c601 行定义.

602{
603 xwu64_t res = x - ((x >> (xwu64_t)1) & (xwu64_t)0x5555555555555555);
604 res = (res & (xwu64_t)0x3333333333333333) +
605 ((res >> (xwu64_t)2) & (xwu64_t)0x3333333333333333);
606 res = (res + (res >> (xwu64_t)4)) & (xwu64_t)0x0F0F0F0F0F0F0F0F;
607 res = res + (res >> (xwu64_t)8);
608 res = res + (res >> (xwu64_t)16);
609 return (res + (res >> (xwu64_t)32)) & (xwu64_t)0x00000000000000FF;
610}
uint64_t xwu64_t
Definition type.h:303

◆ xwbop_weight8()

xwsz_t xwbop_weight8 ( xwu8_t  x)

在文件 xwbop.c130 行定义.

131{
132 xwu8_t res = x - ((x >> (xwu8_t)1) & (xwu8_t)0x55);
133 res = (res & (xwu8_t)0x33) + ((res >> (xwu8_t)2) & (xwu8_t)0x33);
134 return (res + (res >> (xwu8_t)4)) & (xwu8_t)0x0F;
135}

◆ xwbop_weight__xwbmp_t()

static xwsq_t xwbop_weight__xwbmp_t ( xwbmp_t  x)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_weight__xwid_t()

static xwsq_t xwbop_weight__xwid_t ( xwid_t  x)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_weight__xwptr_t()

static xwsq_t xwbop_weight__xwptr_t ( xwptr_t  x)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_weight__xwreg_t()

static xwsq_t xwbop_weight__xwreg_t ( xwreg_t  x)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_weight__xws16_t()

static xwsq_t xwbop_weight__xws16_t ( xws16_t  x)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_weight__xws32_t()

static xwsq_t xwbop_weight__xws32_t ( xws32_t  x)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_weight__xws64_t()

static xwsq_t xwbop_weight__xws64_t ( xws64_t  x)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_weight__xws8_t()

static xwsq_t xwbop_weight__xws8_t ( xws8_t  x)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_weight__xwsq_t()

static xwsq_t xwbop_weight__xwsq_t ( xwsq_t  x)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_weight__xwsz_t()

static xwsq_t xwbop_weight__xwsz_t ( xwsz_t  x)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_weight__xwtk_t()

static xwsq_t xwbop_weight__xwtk_t ( xwtk_t  x)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_weight__xwu16_t()

static xwsq_t xwbop_weight__xwu16_t ( xwu16_t  x)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_weight__xwu32_t()

static xwsq_t xwbop_weight__xwu32_t ( xwu32_t  x)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_weight__xwu64_t()

static xwsq_t xwbop_weight__xwu64_t ( xwu64_t  x)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_weight__xwu8_t()

static xwsq_t xwbop_weight__xwu8_t ( xwu8_t  x)
inlinestatic

在文件 xwbop.h341 行定义.

◆ xwbop_x1m__xwbmp_t()

static void xwbop_x1m__xwbmp_t ( xwbmp_t x,
xwbmp_t  m 
)
inlinestatic

在文件 xwbop.h402 行定义.

◆ xwbop_x1m__xwid_t()

static void xwbop_x1m__xwid_t ( xwid_t x,
xwid_t  m 
)
inlinestatic

在文件 xwbop.h374 行定义.

◆ xwbop_x1m__xwptr_t()

static void xwbop_x1m__xwptr_t ( xwptr_t x,
xwptr_t  m 
)
inlinestatic

在文件 xwbop.h364 行定义.

◆ xwbop_x1m__xwreg_t()

static void xwbop_x1m__xwreg_t ( xwreg_t x,
xwreg_t  m 
)
inlinestatic

在文件 xwbop.h384 行定义.

◆ xwbop_x1m__xws16_t()

static void xwbop_x1m__xws16_t ( xws16_t x,
xws16_t  m 
)
inlinestatic

在文件 xwbop.h345 行定义.

◆ xwbop_x1m__xws32_t()

static void xwbop_x1m__xws32_t ( xws32_t x,
xws32_t  m 
)
inlinestatic

在文件 xwbop.h348 行定义.

◆ xwbop_x1m__xws64_t()

static void xwbop_x1m__xws64_t ( xws64_t x,
xws64_t  m 
)
inlinestatic

在文件 xwbop.h351 行定义.

◆ xwbop_x1m__xws8_t()

static void xwbop_x1m__xws8_t ( xws8_t x,
xws8_t  m 
)
inlinestatic

在文件 xwbop.h342 行定义.

◆ xwbop_x1m__xwsq_t()

static void xwbop_x1m__xwsq_t ( xwsq_t x,
xwsq_t  m 
)
inlinestatic

在文件 xwbop.h392 行定义.

◆ xwbop_x1m__xwsz_t()

static void xwbop_x1m__xwsz_t ( xwsz_t x,
xwsz_t  m 
)
inlinestatic

在文件 xwbop.h356 行定义.

◆ xwbop_x1m__xwtk_t()

static void xwbop_x1m__xwtk_t ( xwtk_t x,
xwtk_t  m 
)
inlinestatic

在文件 xwbop.h407 行定义.

◆ xwbop_x1m__xwu16_t()

static void xwbop_x1m__xwu16_t ( xwu16_t x,
xwu16_t  m 
)
inlinestatic

在文件 xwbop.h344 行定义.

◆ xwbop_x1m__xwu32_t()

static void xwbop_x1m__xwu32_t ( xwu32_t x,
xwu32_t  m 
)
inlinestatic

在文件 xwbop.h347 行定义.

◆ xwbop_x1m__xwu64_t()

static void xwbop_x1m__xwu64_t ( xwu64_t x,
xwu64_t  m 
)
inlinestatic

在文件 xwbop.h350 行定义.

◆ xwbop_x1m__xwu8_t()

static void xwbop_x1m__xwu8_t ( xwu8_t x,
xwu8_t  m 
)
inlinestatic

在文件 xwbop.h341 行定义.