Lines Matching refs:digit_
120 digit_[j] = that.digit_[j];
127 if (digit_[j] != 0) { in IsZero()
139 return digits_ == digitLimit_ && digit_[digits_ - 1] >= radix / 10; in IsFull()
158 digit_[digits_++] = n; in SetTo()
164 digit_[digits_++] = static_cast<Digit>(n - q * radix); in SetTo()
173 if (digits_ > 0 && digit_[0] == 0) { in RemoveLeastOrderZeroDigits()
174 while (remove < digits_ && digit_[remove] == 0) { in RemoveLeastOrderZeroDigits()
187 digit_[j] = digit_[j + remove]; in RemoveLeastOrderZeroDigits()
196 while (digits_ > 0 && digit_[digits_ - 1] == 0) { in RemoveLeastOrderZeroDigits()
210 return digits_ == 0 || (digit_[0] % N) == 0; in RemoveLeastOrderZeroDigits()
216 Digit q{digit_[j] / DIVISOR}; in RemoveLeastOrderZeroDigits()
217 Digit nrem{digit_[j] - DIVISOR * q}; in RemoveLeastOrderZeroDigits()
218 digit_[j] = q + (radix / DIVISOR) * remainder; in RemoveLeastOrderZeroDigits()
229 auto nrem{digit_[j] & mask}; in RemoveLeastOrderZeroDigits()
230 digit_[j] = (digit_[j] >> twoPow) + coeff * remainder; in RemoveLeastOrderZeroDigits()
240 if ((digit_[0] & ((Digit{1} << chunk) - 1)) == 0) { in RemoveLeastOrderZeroDigits()
246 if (digit_[digits_ - 1] >> chunk != 0) { in RemoveLeastOrderZeroDigits()
250 digit_[digits_++] = 0; in RemoveLeastOrderZeroDigits()
252 auto remainder{digit_[digits_ - 1]}; in RemoveLeastOrderZeroDigits()
257 digit_[j] = (digit_[j - 1] >> chunk) + coeff * remainder; in RemoveLeastOrderZeroDigits()
258 remainder = digit_[j - 1] & mask; in RemoveLeastOrderZeroDigits()
260 digit_[0] = coeff * remainder; in RemoveLeastOrderZeroDigits()
268 Digit v{digit_[position] + carry}; in RemoveLeastOrderZeroDigits()
270 digit_[position] = v; in RemoveLeastOrderZeroDigits()
273 digit_[position] = v - radix; in RemoveLeastOrderZeroDigits()
277 digit_[digits_++] = carry; in RemoveLeastOrderZeroDigits()
282 digit_[digits_++] = carry; in RemoveLeastOrderZeroDigits()
289 for (int j{0}; digit_[j]-- == 0; ++j) { in RemoveLeastOrderZeroDigits()
290 digit_[j] = radix - 1; in RemoveLeastOrderZeroDigits()
296 auto v{N * digit_[j] + carry}; in RemoveLeastOrderZeroDigits()
298 digit_[j] = v - carry * radix; // i.e., v % radix in RemoveLeastOrderZeroDigits()
314 digit_[digits_++] = carry; in RemoveLeastOrderZeroDigits()
329 digit_[digits_ - 1] += carry; in RemoveLeastOrderZeroDigits()
331 digit_[digits_++] = carry; in RemoveLeastOrderZeroDigits()
352 Digit digit_[maxDigits]; // in little-endian order: digit_[0] is LSD in RemoveLeastOrderZeroDigits() variable