operator >> method

Uint128 operator >>(
  1. int n
)

Logical (unsigned) right shift.

Implementation

Uint128 operator >>(int n) {
  final shift = n & 127;
  if (shift == 0) return this;
  if (shift < 64) {
    final newLo = (_lo >> shift) | (_hi << (64 - shift));
    final newHi = _hi >> shift;
    return Uint128._(newHi, newLo);
  }
  final s = shift - 64;
  return Uint128._(Uint64.zero, _hi >> s);
}