def make_chain(self, num_sketches, a, m, set_halfsize): result = [] for i in range(num_sketches): sketch = liquid_legions.LiquidLegions(a, m, random_seed=42) for j in range(set_halfsize): item_1 = farmhash.hash32withseed(f'i{i}_{j}', 567) item_2 = farmhash.hash32withseed(f'i{i + 1}_{j}', 567) sketch.add_id(item_1) sketch.add_id(item_2) result.append(sketch) return result
def add_id(self, item): """Add id to the estimator.""" f = farmhash.hash32withseed(str(item), self.seed) self.add_fingerprint(f)