BBloomFjord
Produkt

Funkce programu · Pravděpodobnostní členství Bloomova filtru

01

Porovnávejte vložené klíče s bitovým polem při kolizích a oddělte kladnou odpověď od jisté přítomnosti.

01

Modely

Nastavte endpoint kompatibilní s OpenAI nebo Anthropic pomocí základní URL a případného API klíče. Otestujte připojení. Lokální server modelu musí běžet; vzdálené nástroje mohou data odesílat samostatně.

02

Projekt

Vyberte složku a před úpravou nechte asistenta přečíst příslušné soubory. Určete cíl i hranice úkolu.

03

Změny

Kontrolujte změny a výstupy příkazů. Před přijetím výsledku spusťte kontroly projektu; vytvořený kód není automaticky otestovaný.

Pravděpodobnostní členství Bloomova filtru

● ● ●BloomFjord●
Pracovní postupy · Pravděpodobnostní členství Bloomova filtru ×
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))
✳Ukládejte klíče do 1024 bajtů v Bloomově filtru s jedním až 8192 bity.
✓ ZměnyPřed použitím zkontrolujte ↗
Ilustrace pracovního prostředí
Pracovní prostředí s AI pro kód

Váš další nápad začíná zde.

Stáhnout pro Windows ↗