def add(self, value):
        if self.M is None:
            self.items.add(value)
            if len(self.items) > self.threshold:
                self.convert()
            return

        x = hash_func(value)
        j = x & self.mask
        w = x >> self.b
        h = self._get_rho(w)
        if h > self.M[j]:
            self.M[j] = h
dataset/ETHPy150Open douban/dpark/dpark/hyperloglog.py/HyperLogLog.add/original