Lines Matching +full:pass +full:- +full:1
32 * Two-pass algorithm: in the first pass, we determine whether the in br_i15_decode_mod()
33 * value fits; in the second pass, we do the actual write. in br_i15_decode_mod()
35 * During the first pass, 'r' contains the comparison result so in br_i15_decode_mod()
45 * During the second pass, 'r' is either 0xFFFFFFFF (value fits) in br_i15_decode_mod()
56 int pass; in br_i15_decode_mod() local
61 tlen = (mlen << 1); in br_i15_decode_mod()
67 for (pass = 0; pass < 2; pass ++) { in br_i15_decode_mod()
72 v = 1; in br_i15_decode_mod()
79 b = buf[len - 1 - u]; in br_i15_decode_mod()
89 acc_len -= 15; in br_i15_decode_mod()
90 acc = b >> (8 - acc_len); in br_i15_decode_mod()
92 if (pass) { in br_i15_decode_mod()
101 if (!pass) { in br_i15_decode_mod()
102 r = MUX(EQ(xw, 0), r, 1); in br_i15_decode_mod()
110 * When we reach this point at the end of the first pass: in br_i15_decode_mod()
111 * r is either 0, 1 or -1; we want to set r to 0 if it in br_i15_decode_mod()
112 * is equal to 0 or 1, and leave it to -1 otherwise. in br_i15_decode_mod()
114 * When we reach this point at the end of the second pass: in br_i15_decode_mod()
115 * r is either 0 or -1; we want to leave that value in br_i15_decode_mod()
118 r >>= 1; in br_i15_decode_mod()
119 r |= (r << 1); in br_i15_decode_mod()
123 return r & (uint32_t)1; in br_i15_decode_mod()