BBloomFjord
Продукт

Возможности программы · Вероятностная проверка фильтром Блума

01

Сопоставляйте добавленные ключи с битовой картой при коллизиях, отделяя положительный ответ от достоверного присутствия.

01

Подключение

Базовый URL, учётные данные и доступный сервер.

02

Выбор

Модель, которую предоставляет настроенный endpoint.

03

Возможности

Объём контекста и поддержка инструментов определяются моделью и сервером.

Вероятностная проверка фильтром Блума

● ● ●BloomFjord●
Конкретная отправная точка · Вероятностная проверка фильтром Блума ×
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))
✳Храните байтовые ключи длиной до 1024 байтов в фильтре Блума от одного до 8192 битов.
✓ ИзмененияПроверьте перед применением ↗
Иллюстрация рабочей среды
Рабочая среда с ИИ для кода

Здесь начинается ваше следующее изменение.

Скачать для Windows ↗