Lines Matching defs:x0
58 * Our task is to calculate the square root of a floating point number x0.
127 * a 1 bit in the first trip around the loop (since x0 < 2^NBITS). If the
133 * and the result q will then be sqrt(x0) * 2^floor(NBITS / 2).
135 * value, for which q is some power of two times its square root, x0.)
140 * q = y = 0; x = x0;
156 * If x0 is fixed point, rather than an integer, we can simply alter the
157 * scale factor between q and sqrt(x0). As it happens, we can easily arrange
158 * for the scale factor to be 2**0 or 1, so that sqrt(x0) == q.
160 * In our case, however, x0 (and therefore x, y, q, and t) are multiword
170 * intermediate calculations can overflow. We know that x0 is in [1..4)
193 u_int x0, x1, x2, x3;
225 FPU_ADDCS(x1, x1, x1); FPU_ADDC(x0, x0, x0); \
229 x0 = (x0 << 1) | (x1 >> 31); x1 = (x1 << 1) | (x2 >> 31); \
240 x0 = x->fp_mant[0];
274 x0 -= bit;
281 if (x0 >= t0) { /* if x >= t then */
282 x0 -= t0; /* x -= t */
300 FPU_SUBC(d0, x0, t0); /* d = x - t */
302 x0 = d0, x1 = d1; /* x -= t */
311 FPU_SUBC(d0, x0, t0);
313 x0 = d0, x1 = d1;
332 FPU_SUBC(d0, x0, t0);
334 x0 = d0, x1 = d1, x2 = d2;
344 FPU_SUBC(d0, x0, t0);
346 x0 = d0, x1 = d1, x2 = d2;
366 FPU_SUBC(d0, x0, t0);
369 x0 = d0, x1 = d1, x2 = d2;
379 FPU_SUBC(d0, x0, t0);
381 x0 = d0, x1 = d1, x2 = d2;
393 x->fp_sticky = x0 | x1 | x2 | x3;