active library

bernoulli_data_type

Bernoulli data type

Started 2019 Mathematica

Resources & Distribution

Package Registries

3 Stars

Bernoulli Data Type

A general framework for understanding and constructing probabilistic data structures with controlled error rates. This framework can also serve as a foundation for constructing oblivious programs as a composition of oblivious data types and oblivious functions.

Overview

The Bernoulli data type concept provides a formalism for reasoning about approximations of data structures that trade space and time complexity for bounded error rates. This framework unifies many existing probabilistic data structures (like Bloom filters) and enables the systematic construction of new ones.

Quick Start

# Configure build with tests
cmake -B build -DBERNOULLI_BUILD_TESTS=ON -DBERNOULLI_BUILD_EXAMPLES=ON

# Build
cmake --build build

# Run tests
cd build && ctest --output-on-failure

Documentation

๐Ÿ“š Full Documentation (or run mkdocs serve locally)

Key Documentation

Local Documentation Server

# Install MkDocs with Material theme
pip install mkdocs-material

# Serve documentation locally at http://127.0.0.1:8000
mkdocs serve

Project Structure

bernoulli_data_type/
โ”œโ”€โ”€ include/              # Header-only C++ library
โ”‚   โ”œโ”€โ”€ bernoulli_bool/   # Bernoulli boolean types
โ”‚   โ”œโ”€โ”€ bernoulli_set/    # Bernoulli set types (Bloom filters, etc.)
โ”‚   โ”œโ”€โ”€ bernoulli_map/    # Bernoulli map/function types
โ”‚   โ””โ”€โ”€ ...
โ”œโ”€โ”€ tests/                # Google Test suite
โ”œโ”€โ”€ docs/                 # MkDocs documentation
โ”‚   โ”œโ”€โ”€ theory/           # Theoretical foundations
โ”‚   โ”œโ”€โ”€ implementation/   # Implementation guides
โ”‚   โ””โ”€โ”€ api/              # API reference (Doxygen output)
โ”œโ”€โ”€ papers-latex/         # Academic papers (LaTeX sources)
โ””โ”€โ”€ research/             # Research notes and experiments

About

This project is under active development. For more information, visit metafunctor.com.

Discussion