HomePhabricator

Add bitdeque, an std::deque<bool> analogue that does bit packing.

Description

Add bitdeque, an std::deque<bool> analogue that does bit packing.

Summary:
This is a partial backport of core#25717
https://github.com/bitcoin/bitcoin/pull/25717/commits/84852bb6bb3579e475ce78fe729fd125ddbc715f

Depends on D15213

Test Plan:
ninja all check-all

Run the fuzzer

cmake -GNinja .. \
  -DCMAKE_C_COMPILER=clang \
  -DCMAKE_CXX_COMPILER=clang++ \
  -DENABLE_SANITIZERS="fuzzer;address;undefined"
ninja bitcoin-fuzzers
export DIR_FUZZ_IN=~/dev/qa-assets/fuzz_seed_corpus
./test/fuzz/test_runner.py -g ${DIR_FUZZ_IN} bitdeque

Reviewers: #bitcoin_abc, Fabien

Reviewed By: #bitcoin_abc, Fabien

Subscribers: Fabien

Differential Revision: https://reviews.bitcoinabc.org/D15124

Details

Provenance
Pieter Wuille <pieter@wuille.net>Authored on Feb 23 2022, 01:34
PiRKCommitted on Jan 16 2024, 08:11
PiRKPushed on Jan 16 2024, 08:11
Reviewer
Restricted Project
Differential Revision
D15124: Add bitdeque, an std::deque<bool> analogue that does bit packing.
Parents
rABCc42127bc3ced: fuzz: Introduce CallOneOf helper to replace switch-case
Branches
Unknown
Tags
Unknown