summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2021-09-10Avoid GCC recommending a const mainDavid Robillard1-8/+4
These warnings are useful in general, but are pointless with main functions and annoying to avoid. Arbitrarily print something to make it go away.
2021-09-10Fix warning suppressionsDavid Robillard1-5/+3
2021-09-10Fix function attribute warningsDavid Robillard2-0/+3
2021-09-10Add gitignore fileDavid Robillard1-0/+3
2021-09-10Suppress nullability extension warnings regardless of strict modeDavid Robillard2-4/+12
2021-09-10Use conventional name for meson dependency variableDavid Robillard1-3/+3
2021-09-10Adopt REUSE machine-readable licensing standardDavid Robillard44-556/+238
2021-09-10Add test for zix_strerror()David Robillard2-0/+48
2021-09-10Use assert in Sem testDavid Robillard1-13/+7
2021-09-10Use assert in Ring testDavid Robillard1-91/+26
2021-09-10Test failed Ring allocationDavid Robillard4-19/+179
2021-09-10Remove branches from zix_bitset_set() and zix_bitset_reset()David Robillard1-14/+10
2021-09-10Add custom allocator supportDavid Robillard18-110/+438
2021-09-10Add nullability annotationsDavid Robillard13-130/+230
This allows clang to issue warnings at compile time when null is passed to a non-null parameter. For public entry points, also add assertions to catch such issues when the compiler does not support this.
2021-09-10Move attribute definitions to a separate headerDavid Robillard16-58/+95
2021-09-10Rewrite ZixHash as a flat table with open addressingDavid Robillard7-304/+776
2021-09-10Replace CRC32 digest with more modern and appropriate algorithmsDavid Robillard5-157/+324
This makes the hassle of platform-specific code go away, and instead uses portable implementations of relatively standard modern hash algorithms. CRC32 is not great as a hash function anyway, though it is very fast when hardware accelerated.
2021-09-10Generate slightly more realistic hash benchmark dataDavid Robillard1-7/+19
2021-09-10Fix cast alignment warnings in SSE4.2 digest codeDavid Robillard1-5/+29
2021-09-10Add a user handle to destroy callbackDavid Robillard8-39/+55
2021-09-10Add test that covers more BTree removal casesDavid Robillard1-0/+39
2021-09-10Add test for reinserting a value that is a BTree node split pivotDavid Robillard1-0/+20
2021-09-10Add test for BTree iterator comparisonDavid Robillard1-0/+44
2021-09-10Simplify BTree implementationDavid Robillard3-263/+422
2021-09-10Avoid inserting wildcards as values in BTree testDavid Robillard1-8/+8
2021-09-10Allow ZixBTreeIter to be allocated on the stackDavid Robillard7-268/+174
2021-09-10Remove destroy field of BTree and add zix_btree_clear()David Robillard4-44/+109
If this is used, it is only when clearing or freeing a tree. Allowing it to be given as a parameter directly there is clearer and avoids bloating the tree itself with information that isn't needed.
2021-09-10Remove BTree debug printingDavid Robillard1-37/+0
2021-09-10Avoid implicit padding in BTree nodes on 64-bitDavid Robillard1-8/+15
Might as well use 32-bit integers if the space is there anyway.
2021-09-10Fix benchmarking scriptDavid Robillard1-4/+2
2021-09-10Suppress new warnings in clang-tidy 12David Robillard4-0/+9
2021-09-10Be explicit about the sign of defined integer constantsDavid Robillard3-10/+10
2021-09-10Fix conversion warningsDavid Robillard8-53/+71
2021-09-10Remove ZixStrindexDavid Robillard4-391/+0
2021-07-17Remove ZixSortedArrayDavid Robillard5-636/+0
2021-07-17Enable bugprone-suspicious-include clang-tidy checkDavid Robillard1-1/+0
I'm not sure why this was suppressed but it seems fine now.
2021-07-17Avoid allegedly "suspicious" string comparisonsDavid Robillard6-7/+4
I guess these are suspicious if you've never seen C before?
2021-07-17Avoid use of rand()David Robillard8-69/+83
2021-07-17Avoid use of atoi() and atol()David Robillard8-14/+12
2021-07-17Fix building without benchmarksDavid Robillard1-1/+1
2021-07-17Use line comments where appropriateDavid Robillard14-224/+91
2021-06-30Add pure attribute to internal BTree accessor functionsDavid Robillard1-0/+3
2021-06-30Allow ZIX_API to be overriddenDavid Robillard1-8/+10
2021-06-30Fix hash size after removing elementsDavid Robillard2-1/+8
2021-04-14Fix VS2019 warningsDavid Robillard2-1/+2
2021-01-16Allow all free functions to be called on nullDavid Robillard4-6/+14
2021-01-12Fix crash with optimized builds with GCC 10.1.0David Robillard1-1/+1
2021-01-10Add configuration summaryDavid Robillard1-1/+12
2021-01-10Sort meson optionsDavid Robillard1-3/+3
2020-12-31Remove unused filesDavid Robillard2-10/+0