Baixe o aplicativo
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Armazene chaves de até 1024 bytes num filtro Bloom de um a 8192 bits. Confira inserções duplicadas e chaves inseridas, demonstrando que um resultado positivo pode ser falso e não comprova pertinência.
Escolha uma pasta e peça ao assistente que leia os arquivos relevantes antes de editá-los. Defina o objetivo e os limites da tarefa.
Escolha um endpoint compatível. As ferramentas disponíveis e a qualidade das respostas dependem do modelo e do servidor configurados.
Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.
Compare o comportamento real com o resultado esperado. Se uma verificação falhar, investigue a causa antes de fazer outras alterações.
from hashlib import sha256
class Bloom:
def __init__(self, width):
if type(width) is not int or not 1 <= width <= 8192:
raise ValueError("width.range")
self.width, self.bits = width, 0
def positions(self, key):
if not isinstance(key, bytes) or len(key) > 1024:
raise ValueError("key.bytes")
digest = sha256(key).digest()
return [int.from_bytes(digest[i:i+4], "big") % self.width
for i in (0, 4, 8, 12)]
def add(self, key):
for position in self.positions(key):
self.bits |= 1 << position
def maybe_contains(self, key):
return all(self.bits & (1 << p) for p in self.positions(key))Revise antes de aplicar. Confira as alterações e a saída dos comandos. Execute as verificações do projeto antes de aceitar o resultado; código gerado não vem automaticamente testado.