Lines Matching full:amount
52 inline uint128& operator<<=(uint128& self, int amount);
244 inline uint128 operator<<(const uint128& val, int amount) {
247 if (amount < 64) {
248 if (amount == 0) {
252 (Uint128High64(val) << amount) | (Uint128Low64(val) >> (64 - amount));
253 uint64_t new_lo = Uint128Low64(val) << amount;
255 } else if (amount < 128) {
256 return uint128(Uint128Low64(val) << (amount - 64), 0);
262 inline uint128 operator>>(const uint128& val, int amount) {
265 if (amount < 64) {
266 if (amount == 0) {
269 uint64_t new_hi = Uint128High64(val) >> amount;
271 (Uint128Low64(val) >> amount) | (Uint128High64(val) << (64 - amount));
273 } else if (amount < 128) {
274 return uint128(0, Uint128High64(val) >> (amount - 64));
280 inline uint128& operator<<=(uint128& self, int amount) {
283 if (amount < 64) {
284 if (amount != 0) {
285 self.hi_ = (self.hi_ << amount) | (self.lo_ >> (64 - amount));
286 self.lo_ = self.lo_ << amount;
288 } else if (amount < 128) {
289 self.hi_ = self.lo_ << (amount - 64);
298 C10_API inline uint128& uint128::operator>>=(int amount) {
301 if (amount < 64) {
302 if (amount != 0) {
303 lo_ = (lo_ >> amount) | (hi_ << (64 - amount));
304 hi_ = hi_ >> amount;
306 } else if (amount < 128) {
307 lo_ = hi_ >> (amount - 64);