Lines Matching refs:TNUM
12 #define TNUM(_v, _m) (struct tnum){.value = _v, .mask = _m} macro
18 return TNUM(value, 0); in tnum_const()
34 return TNUM(min & ~delta, delta); in tnum_range()
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()
71 return TNUM(sv & ~mu, mu); in tnum_add()
83 return TNUM(dv & ~mu, mu); in tnum_sub()
93 return TNUM(v, alpha & beta & ~v); in tnum_and()
102 return TNUM(v, mu & ~v); in tnum_or()
111 return TNUM(v & ~mu, mu); in tnum_xor()
125 struct tnum acc_m = TNUM(0, 0); in tnum_mul()
130 acc_m = tnum_add(acc_m, TNUM(0, b.mask)); in tnum_mul()
133 acc_m = tnum_add(acc_m, TNUM(0, b.value | b.mask)); in tnum_mul()
138 return tnum_add(TNUM(acc_v, 0), acc_m); in tnum_mul()
150 return TNUM(v & ~mu, mu); in tnum_intersect()