Lines Matching refs:lo_

103   absl::uint128 lo_;  variable
142 inline absl::uint128 Uint256Low128(const uint256& v) { return v.lo_; } in Uint256Low128()
156 inline constexpr uint256::uint256() : lo_(0), hi_(0) {} in uint256()
158 : lo_(bottom), hi_(top) {} in uint256()
160 : lo_(v.lo), hi_(v.hi) {} in uint256()
161 inline constexpr uint256::uint256(absl::uint128 bottom) : lo_(bottom), hi_(0) {} in uint256()
164 : lo_(bottom), hi_((bottom < 0) ? -1 : 0) {} in uint256()
165 inline constexpr uint256::uint256(Uint32 bottom) : lo_(bottom), hi_(0) {} in uint256()
167 inline constexpr uint256::uint256(Uint8 bottom) : lo_(bottom), hi_(0) {} in uint256()
170 : lo_(bottom), hi_(0) {} in uint256()
173 : lo_(bottom), hi_(0) {} in uint256()
177 lo_ = bottom; in Initialize()
182 constexpr uint256::operator bool() const { return lo_ || hi_; }
184 constexpr uint256::operator char() const { return static_cast<char>(lo_); }
187 return static_cast<signed char>(lo_);
191 return static_cast<unsigned char>(lo_);
195 return static_cast<char16_t>(lo_); in char16_t()
199 return static_cast<char32_t>(lo_); in char32_t()
203 constexpr uint256::operator short() const { return static_cast<short>(lo_); }
206 return static_cast<unsigned short>(lo_);
209 constexpr uint256::operator int() const { return static_cast<int>(lo_); }
212 return static_cast<unsigned int>(lo_);
216 constexpr uint256::operator long() const { return static_cast<long>(lo_); }
219 return static_cast<unsigned long>(lo_);
223 return static_cast<long long>(lo_);
227 return static_cast<unsigned long long>(lo_);
231 constexpr uint256::operator absl::uint128() const { return lo_; } in uint128()
233 return static_cast<absl::int128>(lo_); in int128()
239 return static_cast<float>(lo_) + std::ldexp(static_cast<float>(hi_), 128);
243 return static_cast<double>(lo_) + std::ldexp(static_cast<double>(hi_), 128);
247 return static_cast<long double>(lo_) +
304 lo_ op b.lo_; \
332 hi_ = (hi_ << amount) | (lo_ >> (128 - amount));
333 lo_ = lo_ << amount;
336 hi_ = lo_ << (amount - 128);
337 lo_ = 0;
340 lo_ = 0;
349 lo_ = (lo_ >> amount) | (hi_ << (128 - amount));
353 lo_ = hi_ >> (amount - 128);
356 lo_ = 0;
384 absl::uint128 lolo = lo_ + b.lo_;
385 if (lolo < lo_)
387 lo_ = lolo;
393 if (b.lo_ > lo_)
395 lo_ -= b.lo_;
415 absl::uint128 a64 = absl::Uint128High64(lo_);
416 absl::uint128 a00 = absl::Uint128Low64(lo_);
417 absl::uint128 b64 = absl::Uint128High64(b.lo_);
418 absl::uint128 b00 = absl::Uint128Low64(b.lo_);
421 this->hi_ = hi_ * b.lo_ + a64 * b64 + lo_ * b.hi_;
422 this->lo_ = a00 * b00;
432 lo_++;
433 if (lo_ == 0) hi_++; // If there was a wrap around, increase the high word.
439 if (lo_ == 0) hi_--; // If it wraps around, decrease the high word.
440 lo_--;
445 lo_++;
446 if (lo_ == 0) hi_++; // If there was a wrap around, increase the high word.
451 if (lo_ == 0) hi_--; // If it wraps around, decrease the high word.
452 lo_--;