Home | History | Annotate | Download | only in src

Lines Matching full:carry

189   // In both cases we might need a carry bigit.
192 Chunk carry = 0;
196 Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry;
198 carry = sum >> kBigitSize;
202 while (carry != 0) {
203 Chunk sum = bigits_[bigit_pos] + carry;
205 carry = sum >> kBigitSize;
258 // Assert that this number + 1 (for the carry) fits into double chunk.
260 DoubleChunk carry = 0;
262 DoubleChunk product = static_cast<DoubleChunk>(factor) * bigits_[i] + carry;
264 carry = (product >> kBigitSize);
266 while (carry != 0) {
268 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
270 carry >>= kBigitSize;
282 uint64_t carry = 0;
288 uint64_t tmp = (carry & kBigitMask) + product_low;
290 carry = (carry >> kBigitSize) + (tmp >> kBigitSize) +
293 while (carry != 0) {
295 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
297 carry >>= kBigitSize;
724 Chunk carry = 0;
727 bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask;
728 carry = new_carry;
730 if (carry != 0) {
731 bigits_[used_digits_] = carry;