     default: return 0
     }
 }
+
 public func <<=(lhs: inout UInt128, rhs: UInt128) {
     lhs = lhs << rhs
 }
+
 /// Shifts `lhs`' bits right by `rhs` bits and returns the result.
 public func >>(lhs: UInt128, rhs: UInt128) -> UInt128 {
     if rhs.value.upperBits > 0 || rhs.value.lowerBits > 128 {

            return self.byteSwapped
        #endif
    }
    /// Returns the current integer with the byte order swapped.
    public var byteSwapped: UInt128 {
        return UInt128(upperBits: self.value.lowerBits.byteSwapped, lowerBits: self.value.upperBits.byteSwapped)
    }
    // MARK: Type Methods
    /// Create a UInt128 instance from the supplied string.
    /// - requires:
    ///     `string` must match the following patterns:

        }
        return Stride(other) &- Stride(self)
    }

    /// Returns the distance from the current UInt128 value to the supplied
    /// UInt128 value. This implementation is limited since a signed Int128
    /// data type does not exist, so it has to fall back to an IntMax
