Commit Graph

700 Commits

Author SHA1 Message Date
andrew d782419d37 Reorganize cmake 2024-01-22 12:54:32 -08:00
andrew 387b04d7a3 Support c89 2024-01-22 11:48:59 -08:00
andrew b39979a471 Fixed signed integer overflow. Closes #1 2024-01-21 17:00:40 -08:00
andrew 16d46d3de6 We need 8 hex chars for 4 byte keys 2024-01-21 16:49:03 -08:00
andrew 5a3740a733 Fix includes 2024-01-21 14:31:52 -08:00
andrew 605d8c8715 Allow variable length keys in fuzz test 2024-01-21 14:30:40 -08:00
andrew 4459c3cb87 Improve comments and asserts 2024-01-21 14:30:09 -08:00
andrew 9855e64b6a Only strip release build 2024-01-21 14:29:39 -08:00
andrew 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
andrew b1e3ab2020 Update comment 2024-01-19 17:55:06 -08:00
andrew e6270c049b Provide means to seed rng 2024-01-19 17:49:11 -08:00
andrew 7ad68231a4 Make sure index into hex array is positive 2024-01-19 17:33:30 -08:00
andrew 9774a8af2b Make tree visualization more compact 2024-01-19 17:31:15 -08:00
andrew f76191cfca s/TreeSet/ConflictSet/ 2024-01-19 17:21:47 -08:00
andrew 8826d906ff Add TODO for fuzz test 2024-01-19 16:45:33 -08:00
andrew 2e6649db44 Check reads in fuzzer 2024-01-19 16:44:38 -08:00
andrew 4993462797 GC unused symbols 2024-01-19 16:04:19 -08:00
andrew 756f74c6de Add fuzz test 2024-01-19 15:48:07 -08:00
andrew a2a55c9717 Prepare for fuzzing 2024-01-19 14:50:36 -08:00
andrew ffa60c9b4f Add reference implementation 2024-01-19 14:29:10 -08:00
andrew 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
andrew 5d17675ad1 C89, C++98 api smoke tests 2024-01-18 20:43:29 -08:00
andrew 0f9a86d775 Make lib work as a c or c++ library 2024-01-18 18:37:48 -08:00
andrew 1aad0c2f11 Control symbol visibility in library 2024-01-18 18:05:06 -08:00
andrew 28ac68d46a Allocate write array with arena 2024-01-18 17:48:25 -08:00
andrew b27f43f1ed Propagate error code in test 2024-01-18 17:44:09 -08:00
andrew fc3cc98d64 Use Arena allocator 2024-01-18 17:26:55 -08:00
andrew 5f3313a3bf Use runInterleaved in lastLeqMulti 2024-01-18 16:57:23 -08:00
andrew 1bab3b7555 Remove unused code 2024-01-18 16:49:23 -08:00
andrew a7a999a240 Fix off by one error in invariant 2024-01-18 16:33:36 -08:00
andrew dff976ec0a Shuffle keys before inserting 2024-01-18 16:23:37 -08:00
andrew 0bcad7686f Check parent pointers 2024-01-18 16:23:25 -08:00
andrew 7849623597 Don't trash worklist initial contents 2024-01-18 16:23:07 -08:00
andrew b749c0604a Worklist algorithm for rotations 2024-01-18 15:32:35 -08:00
andrew 321993baab WIP - need to use worklist algorithm for rotations 2024-01-18 14:38:22 -08:00
andrew b2de5c82e3 Phase enum 2024-01-18 11:58:57 -08:00
andrew 7d695fe6cf Interleave insert stepwise 2024-01-18 11:52:30 -08:00
andrew 1497f4f890 Tidy 2024-01-18 10:42:29 -08:00
andrew 8c15cb28d0 Finish addWriteNaive for singleton writes 2024-01-18 10:34:22 -08:00
andrew eb579dfc1e Write 10 keys 2024-01-17 17:39:47 -08:00
andrew 6365e01d5b Remove dead code 2024-01-17 17:18:32 -08:00
andrew 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
andrew 9f9c248e6a Add naive insertion, fix visualization 2024-01-17 16:23:20 -08:00
andrew d515332906 Require oldestVersion increasing 2024-01-17 14:13:22 -08:00
andrew aa85c77d8f add debugPrintDot 2024-01-17 14:10:50 -08:00
andrew a6381a981e Add test scaffolding 2024-01-17 12:40:27 -08:00
andrew 8a6973e2cd Implement all but check and addWrites 2024-01-17 12:26:41 -08:00
andrew c6ff1ff64d Add PImpl scaffolding 2024-01-17 11:03:10 -08:00
andrew 8edcd02f91 Add .gitignore, CMakeLists.txt, ConflictSet.cpp 2024-01-17 10:51:22 -08:00
andrew 41cd14a5d7 Add ConflictSet.h 2024-01-17 10:46:55 -08:00