Lines Matching defs:x0
59 * Our task is to calculate the square root of a floating point number x0.
128 * a 1 bit in the first trip around the loop (since x0 < 2^NBITS). If the
134 * and the result q will then be sqrt(x0) * 2^floor(NBITS / 2).
136 * value, for which q is some power of two times its square root, x0.)
141 * q = y = 0; x = x0;
157 * If x0 is fixed point, rather than an integer, we can simply alter the
158 * scale factor between q and sqrt(x0). As it happens, we can easily arrange
159 * for the scale factor to be 2**0 or 1, so that sqrt(x0) == q.
161 * In our case, however, x0 (and therefore x, y, q, and t) are multiword
171 * intermediate calculations can overflow. We know that x0 is in [1..4)
195 u_int x0, x1, x2, x3;
227 FPU_ADDCS(x1, x1, x1); FPU_ADDC(x0, x0, x0); \
231 x0 = (x0 << 1) | (x1 >> 31); x1 = (x1 << 1) | (x2 >> 31); \
242 x0 = x->fp_mant[0];
276 x0 -= bit;
283 if (x0 >= t0) { /* if x >= t then */
284 x0 -= t0; /* x -= t */
302 FPU_SUBC(d0, x0, t0); /* d = x - t */
304 x0 = d0, x1 = d1; /* x -= t */
313 FPU_SUBC(d0, x0, t0);
315 x0 = d0, x1 = d1;
334 FPU_SUBC(d0, x0, t0);
336 x0 = d0, x1 = d1, x2 = d2;
346 FPU_SUBC(d0, x0, t0);
348 x0 = d0, x1 = d1, x2 = d2;
368 FPU_SUBC(d0, x0, t0);
370 x0 = d0, x1 = d1, x2 = d2; x3 = d3;
381 FPU_SUBC(d0, x0, t0);
383 x0 = d0, x1 = d1, x2 = d2; x3 = d3;
395 x->fp_sticky = x0 | x1 | x2 | x3;