Home | History | Annotate | Download | only in src

Lines Matching full:carry

190   // In both cases we might need a carry bigit.
193 Chunk carry = 0;
197 Chunk sum = bigits_[bigit_pos] + other.bigits_[i] + carry;
199 carry = sum >> kBigitSize;
203 while (carry != 0) {
204 Chunk sum = bigits_[bigit_pos] + carry;
206 carry = sum >> kBigitSize;
259 // Assert that this number + 1 (for the carry) fits into double chunk.
261 DoubleChunk carry = 0;
263 DoubleChunk product = static_cast<DoubleChunk>(factor) * bigits_[i] + carry;
265 carry = (product >> kBigitSize);
267 while (carry != 0) {
269 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
271 carry >>= kBigitSize;
283 uint64_t carry = 0;
289 uint64_t tmp = (carry & kBigitMask) + product_low;
291 carry = (carry >> kBigitSize) + (tmp >> kBigitSize) +
294 while (carry != 0) {
296 bigits_[used_digits_] = static_cast<Chunk>(carry & kBigitMask);
298 carry >>= kBigitSize;
725 Chunk carry = 0;
728 bigits_[i] = ((bigits_[i] << shift_amount) + carry) & kBigitMask;
729 carry = new_carry;
731 if (carry != 0) {
732 bigits_[used_digits_] = carry;