Lines Matching refs:lo
93 * n10 := lo
98 _mpd_div_words_r(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo)
103 /* n1_neg = if lo >= 2**63 then MPD_UINT_MAX else 0 */
104 n1_neg = (lo & (1ULL<<63)) ? MPD_UINT_MAX : 0;
105 /* n_adj = if lo >= 2**63 then lo+MPD_RADIX else lo */
106 n_adj = lo + (n1_neg & MPD_RADIX);
108 /* (h, l) = if lo >= 2**63 then m'*(hi+1) else m'*hi */
114 * 1) 0 <= 2**64*hi + lo - qest*MPD_RADIX < 2*MPD_RADIX
122 l = l + lo;
123 if (l < lo) h++;
126 /* (h, l) = 2**64*hi + lo - (qest+1)*MPD_RADIX (mod 2**128)
142 _mpd_div_words_r(mpd_uint_t *q, mpd_uint_t *r, mpd_uint_t hi, mpd_uint_t lo)
144 _mpd_div_words(q, r, hi, lo, MPD_RADIX);
153 mpd_uint_t hi, lo;
155 _mpd_mul_words(&hi, &lo, u, v);
156 _mpd_div_words_r(&w[1], &w[0], hi, lo);
163 mpd_uint_t hi, lo;
165 _mpd_mul_words(&hi, &lo, u[0], v[0]);
166 _mpd_div_words_r(&w[1], &w[0], hi, lo);
168 _mpd_mul_words(&hi, &lo, u[1], v[0]);
169 lo = w[1] + lo;
170 if (lo < w[1]) hi++;
171 _mpd_div_words_r(&w[2], &w[1], hi, lo);
174 _mpd_mul_words(&hi, &lo, u[0], v[1]);
175 lo = w[1] + lo;
176 if (lo < w[1]) hi++;
177 _mpd_div_words_r(&w[3], &w[1], hi, lo);
179 _mpd_mul_words(&hi, &lo, u[1], v[1]);
180 lo = w[2] + lo;
181 if (lo < w[2]) hi++;
182 lo = w[3] + lo;
183 if (lo < w[3]) hi++;
184 _mpd_div_words_r(&w[3], &w[2], hi, lo);