BBloomFjord
Sposoby pracy

Praca z kodem · Probabilistyczne członkostwo Blooma

03
Produkt

Sposoby pracy

Zapisuj klucze do 1024 bajtów w filtrze Blooma od jednego do 8192 bitów. Sprawdź powtórne dodanie i zapisane klucze, pokazując, że wynik dodatni może być fałszywy i nie dowodzi członkostwa.

01

Pobierz aplikację

Wybierz folder i poproś asystenta o przeczytanie odpowiednich plików przed ich zmianą. Określ cel oraz granice zadania.

02

Otwórz folder projektu

Wybierz zgodny endpoint. Dostępne narzędzia i jakość odpowiedzi zależą od skonfigurowanego modelu i serwera.

03

Podłącz i sprawdź model

Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.

04

Przejrzyj zmiany i uruchom testy

Porównaj rzeczywiste zachowanie z oczekiwanym wynikiem. Jeśli sprawdzenie się nie powiedzie, wyjaśnij przyczynę przed kolejnymi zmianami.

Probabilistyczne członkostwo Blooma

Sposoby pracy
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))

Sprawdź przed zastosowaniem. Sprawdzaj zmiany i wyniki poleceń. Uruchom testy projektu przed zaakceptowaniem rezultatu; wygenerowany kod nie jest automatycznie przetestowany.

Środowisko programowania z AI

Tutaj zaczyna się kolejny pomysł.

Pobierz dla Windows ↗