Lines Matching refs:bit

123  * zero bit at the top of x.  Doing so means that q is not going to acquire
124 * a 1 bit in the first trip around the loop (since x0 < 2^NBITS). If the
159 * bit at a time, from the top down, and is not used itself in the loop
161 * in an integer, one word at a time, which saves a bit of work. Also,
162 * since 1 << k is always a `new' bit in q, 1 << k and 1 << (k+1) are
174 * Furthermore, we can prove with a bit of work that x never exceeds y by
181 * In fact, we want even one more bit (for a carry, to avoid compares), or
190 u_int bit, q, tt;
251 * set the top bit in q, so we can do that manually and start
252 * the loop at the next bit down instead. We must be sure to
256 * save work. To avoid `(1U << 31) << 1', we also do the top bit
259 * The calculation `t = y + bit' breaks down into `t0 = y0, ...,
260 * t3 = y3, t? |= bit' for the appropriate word. Since the bit
268 bit = FP_1;
270 /* if (x >= (t0 = y0 | bit)) { */ /* always true */
271 q = bit;
272 x0 -= bit;
273 y0 = bit << 1;
276 while ((bit >>= 1) != 0) { /* for remaining bits in q0 */
278 t0 = y0 | bit; /* t = y + bit */
281 q |= bit; /* q += bit */
282 y0 |= bit << 1; /* y += bit << 1 */
294 bit = 1 << 31;
296 t1 = bit;
301 q = bit; /* q += bit */
302 y0 |= 1; /* y += bit << 1 */
305 while ((bit >>= 1) != 0) { /* for remaining bits in q1 */
307 t1 = y1 | bit;
312 q |= bit;
313 y1 |= bit << 1;
325 bit = 1 << 31;
327 t2 = bit;
333 q = bit;
337 while ((bit >>= 1) != 0) {
339 t2 = y2 | bit;
345 q |= bit;
346 y2 |= bit << 1;
358 bit = 1 << 31;
360 t3 = bit;
367 q = bit;
371 while ((bit >>= 1) != 0) {
373 t3 = y3 | bit;
380 q |= bit;
381 y3 |= bit << 1;