644 Commits

Author SHA1 Message Date
5456475db6 Tidy up std::{set,vector} + arena 2024-01-22 13:22:52 -08:00
bcc9195cdb Remove anon namespaces (not needed with visibility=hidden) 2024-01-22 13:15:09 -08:00
b39979a471 Fixed signed integer overflow. Closes #1 2024-01-21 17:00:40 -08:00
16d46d3de6 We need 8 hex chars for 4 byte keys 2024-01-21 16:49:03 -08:00
5a3740a733 Fix includes 2024-01-21 14:31:52 -08:00
605d8c8715 Allow variable length keys in fuzz test 2024-01-21 14:30:40 -08:00
4459c3cb87 Improve comments and asserts 2024-01-21 14:30:09 -08:00
5e4a946bdb Fix libfuzzer detection and shared object symbols issues
Don't export __throw_length_error, and don't import abort
2024-01-19 18:18:40 -08:00
b1e3ab2020 Update comment 2024-01-19 17:55:06 -08:00
e6270c049b Provide means to seed rng 2024-01-19 17:49:11 -08:00
7ad68231a4 Make sure index into hex array is positive 2024-01-19 17:33:30 -08:00
9774a8af2b Make tree visualization more compact 2024-01-19 17:31:15 -08:00
f76191cfca s/TreeSet/ConflictSet/ 2024-01-19 17:21:47 -08:00
8826d906ff Add TODO for fuzz test 2024-01-19 16:45:33 -08:00
2e6649db44 Check reads in fuzzer 2024-01-19 16:44:38 -08:00
756f74c6de Add fuzz test 2024-01-19 15:48:07 -08:00
a2a55c9717 Prepare for fuzzing 2024-01-19 14:50:36 -08:00
ffa60c9b4f Add reference implementation 2024-01-19 14:29:10 -08:00
a10b9ad5b0 Linux fixes. Don't support c89 for now
Because // comments are diagnosed and I can't be bothered
2024-01-18 21:48:38 -08:00
0f9a86d775 Make lib work as a c or c++ library 2024-01-18 18:37:48 -08:00
28ac68d46a Allocate write array with arena 2024-01-18 17:48:25 -08:00
b27f43f1ed Propagate error code in test 2024-01-18 17:44:09 -08:00
fc3cc98d64 Use Arena allocator 2024-01-18 17:26:55 -08:00
5f3313a3bf Use runInterleaved in lastLeqMulti 2024-01-18 16:57:23 -08:00
1bab3b7555 Remove unused code 2024-01-18 16:49:23 -08:00
a7a999a240 Fix off by one error in invariant 2024-01-18 16:33:36 -08:00
dff976ec0a Shuffle keys before inserting 2024-01-18 16:23:37 -08:00
0bcad7686f Check parent pointers 2024-01-18 16:23:25 -08:00
7849623597 Don't trash worklist initial contents 2024-01-18 16:23:07 -08:00
b749c0604a Worklist algorithm for rotations 2024-01-18 15:32:35 -08:00
321993baab WIP - need to use worklist algorithm for rotations 2024-01-18 14:38:22 -08:00
b2de5c82e3 Phase enum 2024-01-18 11:58:57 -08:00
7d695fe6cf Interleave insert stepwise 2024-01-18 11:52:30 -08:00
1497f4f890 Tidy 2024-01-18 10:42:29 -08:00
8c15cb28d0 Finish addWriteNaive for singleton writes 2024-01-18 10:34:22 -08:00
eb579dfc1e Write 10 keys 2024-01-17 17:39:47 -08:00
6365e01d5b Remove dead code 2024-01-17 17:18:32 -08:00
3e16b30253 Make operator<=> static
Apparently this counts as "namespace scope" (as opposed to an anonymous
namespace), and it still won't be visible outside the translation unit.
2024-01-17 17:12:22 -08:00
9f9c248e6a Add naive insertion, fix visualization 2024-01-17 16:23:20 -08:00
aa85c77d8f add debugPrintDot 2024-01-17 14:10:50 -08:00
a6381a981e Add test scaffolding 2024-01-17 12:40:27 -08:00
8a6973e2cd Implement all but check and addWrites 2024-01-17 12:26:41 -08:00
c6ff1ff64d Add PImpl scaffolding 2024-01-17 11:03:10 -08:00
8edcd02f91 Add .gitignore, CMakeLists.txt, ConflictSet.cpp 2024-01-17 10:51:22 -08:00