Lines Matching defs:digit_t

34 using digit_t = uintptr_t;
52 static_assert(kDigitBits == 8 * sizeof(digit_t), "inconsistent type sizes");
60 Digits(digit_t* mem, int len) : digits_(mem), len_(len) {
79 digit_t operator[](int i) {
84 digit_t msd() {
104 const digit_t* digits() const { return digits_; }
108 digit_t* digits_;
115 digit_t read_4byte_aligned(int i) {
116 if (sizeof(digit_t) == 4) {
119 digit_t result;
130 RWDigits(digit_t* mem, int len) : Digits(mem, len) {}
138 digit_t& operator[](int i) {
149 void operator=(digit_t digit) { memcpy(ptr_, &digit, sizeof(digit)); }
152 memcpy(ptr_, src.ptr_, sizeof(digit_t));
156 operator digit_t() {
157 digit_t result;
166 explicit WritableDigitReference(digit_t* ptr)
180 digit_t* digits() { return digits_; }
183 void Clear() { memset(digits_, 0, len_ * sizeof(digit_t)); }
256 void LeftShift(RWDigits Z, Digits X, digit_t shift);
262 void RightShift(RWDigits Z, Digits X, digit_t shift,
368 digit_t x_most_significant_digit,
369 digit_t shift) {
376 int RightShift_ResultLength(Digits X, bool x_sign, digit_t shift,
431 ALWAYS_INLINE CharIt Parse(CharIt start, CharIt end, digit_t radix);
447 ALWAYS_INLINE CharIt ParsePowerTwo(CharIt start, CharIt end, digit_t radix);
449 ALWAYS_INLINE bool AddPart(digit_t multiplier, digit_t part, bool is_last);
450 ALWAYS_INLINE bool AddPart(digit_t part);
452 digit_t stack_parts_[kStackParts];
453 std::vector<digit_t> heap_parts_;
454 digit_t max_multiplier_{0};
455 digit_t last_multiplier_;
499 digit_t radix) {
505 digit_t part = 0;
508 digit_t d; // Numeric value of the current character {c}.
534 CharIt FromStringAccumulator::Parse(CharIt start, CharIt end, digit_t radix) {
538 const digit_t kMaxMultiplier = (~digit_t{0}) / radix;
551 digit_t multiplier = 1;
552 digit_t part = 0;
554 digit_t d; // Numeric value of the current character {c}.
562 digit_t new_multiplier;
582 bool FromStringAccumulator::AddPart(digit_t multiplier, digit_t part,
587 digit_t carry = part;
588 digit_t high = 0;
591 digit_t new_high = result >> bigint::kDigitBits;
592 digit_t low = static_cast<digit_t>(result);
595 stack_parts_[i] = static_cast<digit_t>(result);
613 bool FromStringAccumulator::AddPart(digit_t part) {