Lines Matching refs:value
12 #define TNUM(_v, _m) (struct tnum){.value = _v, .mask = _m}
14 const struct tnum tnum_unknown = { .value = 0, .mask = -1 };
16 struct tnum tnum_const(u64 value) in tnum_const() argument
18 return TNUM(value, 0); in tnum_const()
39 return TNUM(a.value << shift, a.mask << shift); in tnum_lshift()
44 return TNUM(a.value >> shift, a.mask >> shift); in tnum_rshift()
55 return TNUM((u32)(((s32)a.value) >> min_shift), in tnum_arshift()
58 return TNUM((s64)a.value >> min_shift, in tnum_arshift()
67 sv = a.value + b.value; in tnum_add()
78 dv = a.value - b.value; in tnum_sub()
90 alpha = a.value | a.mask; in tnum_and()
91 beta = b.value | b.mask; in tnum_and()
92 v = a.value & b.value; in tnum_and()
100 v = a.value | b.value; in tnum_or()
109 v = a.value ^ b.value; in tnum_xor()
117 static struct tnum hma(struct tnum acc, u64 value, u64 mask) in hma() argument
121 acc = tnum_add(acc, TNUM(0, value)); in hma()
123 value <<= 1; in hma()
133 pi = a.value * b.value; in tnum_mul()
134 acc = hma(TNUM(pi, 0), a.mask, b.mask | b.value); in tnum_mul()
135 return hma(acc, b.mask, a.value); in tnum_mul()
145 v = a.value | b.value; in tnum_intersect()
152 a.value &= (1ULL << (size * 8)) - 1; in tnum_cast()
161 return !((a.value | a.mask) & (size - 1)); in tnum_is_aligned()
168 b.value &= ~a.mask; in tnum_in()
169 return a.value == b.value; in tnum_in()
174 return snprintf(str, size, "(%#llx; %#llx)", a.value, a.mask); in tnum_strn()
186 else if (a.value & 1) in tnum_sbin()
192 a.value >>= 1; in tnum_sbin()
208 struct tnum tnum_const_subreg(struct tnum a, u32 value) in tnum_const_subreg() argument
210 return tnum_or(tnum_clear_subreg(a), tnum_const(value)); in tnum_const_subreg()