BBloomFjord
Werkprocessen

Werkprocessen voor code · Probabilistisch Bloom-lidmaatschap

03
Product

Werkprocessen

Bewaar sleutels van maximaal 1024 bytes in een Bloom-filter met één tot 8192 bits. Test dubbele invoeging en ingevoegde sleutels en toon dat een positief resultaat fout kan zijn en geen lidmaatschap bewijst.

01

Download de toepassing

Selecteer een map en laat de assistent de relevante bestanden lezen voordat hij ze wijzigt. Benoem het doel en de grenzen van je opdracht.

02

Open de projectmap

Kies een compatibel endpoint. Beschikbare hulpmiddelen en de kwaliteit van antwoorden hangen af van het ingestelde model en de server.

03

Verbind en test het model

Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

04

Controleer wijzigingen en voer tests uit

Vergelijk het werkelijke gedrag met het verwachte resultaat. Onderzoek een mislukte controle voordat je verdergaat met wijzigingen.

Probabilistisch Bloom-lidmaatschap

Werkprocessen
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))

Controleer vóór het toepassen. Controleer wijzigingen en uitvoer van opdrachten. Voer de projectcontroles uit voordat je het resultaat overneemt; gegenereerde code is niet automatisch getest.

AI-werkruimte voor code

Je volgende idee begint hier.

Download voor Windows ↗