Lines Matching refs:carry
157 // In both cases we might need a carry bigit.
160 Chunk carry = 0;
164 Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry;
166 carry = sum >> kBigitSize;
170 while (carry != 0) {
171 Chunk sum = bigits_[bigit_pos] + carry;
173 carry = sum >> kBigitSize;
223 // Assert that this number + 1 (for the carry) fits into double chunk.
225 DoubleChunk carry = 0;
227 DoubleChunk product = static_cast<DoubleChunk>(factor) * bigits_[i] + carry;
229 carry = (product >> kBigitSize);
231 while (carry != 0) {
233 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
235 carry >>= kBigitSize;
246 uint64_t carry = 0;
252 uint64_t tmp = (carry & kBigitMask) + product_low;
254 carry = (carry >> kBigitSize) + (tmp >> kBigitSize) +
257 while (carry != 0) {
259 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
261 carry >>= kBigitSize;
668 Chunk carry = 0;
671 bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask;
672 carry = new_carry;
674 if (carry != 0) {
675 bigits_[used_digits_] = carry;