Lines Matching refs:b
62 struct tnum tnum_add(struct tnum a, struct tnum b) in tnum_add() argument
66 sm = a.mask + b.mask; in tnum_add()
67 sv = a.value + b.value; in tnum_add()
70 mu = chi | a.mask | b.mask; in tnum_add()
74 struct tnum tnum_sub(struct tnum a, struct tnum b) in tnum_sub() argument
78 dv = a.value - b.value; in tnum_sub()
80 beta = dv - b.mask; in tnum_sub()
82 mu = chi | a.mask | b.mask; in tnum_sub()
86 struct tnum tnum_and(struct tnum a, struct tnum b) in tnum_and() argument
91 beta = b.value | b.mask; in tnum_and()
92 v = a.value & b.value; in tnum_and()
96 struct tnum tnum_or(struct tnum a, struct tnum b) in tnum_or() argument
100 v = a.value | b.value; in tnum_or()
101 mu = a.mask | b.mask; in tnum_or()
105 struct tnum tnum_xor(struct tnum a, struct tnum b) in tnum_xor() argument
109 v = a.value ^ b.value; in tnum_xor()
110 mu = a.mask | b.mask; in tnum_xor()
128 struct tnum tnum_mul(struct tnum a, struct tnum b) in tnum_mul() argument
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()
141 struct tnum tnum_intersect(struct tnum a, struct tnum b) in tnum_intersect() argument
145 v = a.value | b.value; in tnum_intersect()
146 mu = a.mask & b.mask; in tnum_intersect()
164 bool tnum_in(struct tnum a, struct tnum b) in tnum_in() argument
166 if (b.mask & ~a.mask) in tnum_in()
168 b.value &= ~a.mask; in tnum_in()
169 return a.value == b.value; in tnum_in()