Commit Graph

34 Commits

Author SHA1 Message Date
6b1cbc4d73 Move source out of root and into the cruft directory 2024-07-18 12:27:05 +10:00
19095934b2 build: don't use a space in user string literals
This fixes errors in clang-17
2023-11-19 09:26:37 +10:00
c011b2177c hash/tuple: add a std compatible tuple hashing object 2023-07-24 12:56:19 +10:00
db95fd532b halfsipmix: remove unused variable warning 2023-07-21 14:22:14 +10:00
2e0f6c6923 hash/siphash: add an (ugly) siphash128 implementation 2022-07-25 11:59:13 +10:00
ea8d23bf17 hash/siphash: add 1-64 byte test vectors 2022-07-21 15:34:44 +10:00
a94cd677bd tap: use fmtlib specifiers 2021-04-13 16:05:08 +10:00
8f5604dde6 hash: add halfsipmix 2020-11-03 11:45:21 +10:00
04de102789 introspection: split the header into functional groups 2020-09-24 15:42:14 +10:00
8beada1646 debug: split debug headers into components 2019-05-17 12:26:08 +10:00
209a6800c4 hash/buzhash: add a trivial buzhash implementation 2019-04-22 13:59:48 +10:00
81715c1602 hash/table: add a trivial table lookup 'hash' 2019-04-22 09:51:04 +10:00
b61d55ee3c build: satiate clang-tidy somewhat 2019-01-03 15:48:34 +11:00
b60aaccf6f build; fix compilation errors under win32
win32 builds are still totally unsupported, untested, and functionally
broken.
2018-08-13 14:52:40 +10:00
f6056153e3 rename root namespace from util to cruft
This places, at long last, the core library code into the same namespace
as the extended library code.
2018-08-05 14:42:02 +10:00
803acc9a87 relicense under MPL-2.0 2018-08-04 15:14:06 +10:00
ec44c68ce6 view: require fully named types for casting 2018-05-10 12:54:45 +10:00
c0af2df2c8 hash/fasthash: print result of each test case 2018-05-03 17:34:19 +10:00
2508c5cc71 test: read TAP status before exit 2018-03-20 14:50:46 +11:00
6f51b82f65 siphash: add initial implementation 2018-01-23 18:57:04 +11:00
bc4a0c3179 xxhash: rewrite for safety and accurate tests
there were a few potential buffer overflows, inaccurate test data, and
the 64 bit path wasn't correct.

fixes buffer overflow from clang-analyze
2018-01-23 18:57:04 +11:00
09aa86f55f crypto: remove cryptography primitives
This code can now be found in libcruft-crypto. It was removed to prevent
people relying on it, and to improve test iteration times in unoptimised
builds.
2018-01-14 17:13:21 +11:00
681768093e hash: use a consistency, less flexible, interface 2018-01-13 15:24:12 +11:00
9471b9eae7 test: ensure all tests return a useful status code
These tests were all assumed to execute correctly because CTest is not
capable of parsing the TAP output and instead relies entirely on status
codes.
2017-05-22 13:55:21 +10:00
bec24535fc hash/crc: parameterise crc for reflection, and 64 bits 2017-02-14 19:47:12 +11:00
5a25f07f8e hash/crc: adapt implementation from png appendix 2017-01-25 16:12:12 +11:00
cb32823248 hash: add xxhash implementation 2016-11-17 18:38:09 +11:00
a93dd90da9 types: remove elems function, prefer std::size
Now that std::size is part of our supported compilers we can remove the
old elems function.
2016-11-17 18:06:39 +11:00
9a798446b5 build: remove unnecessary includes
discovered with include-what-you-use
2016-10-12 15:08:22 +11:00
8cc4c1e82a format: reimplement format rendering
requires literal string arrays, and implements more of the specifier
specification. does not implement 'n' or '$' specifiers. falls back to
snprintf for real arguments.
2016-07-28 13:39:27 +10:00
a87e03de34 hash: move tests to hash directory 2016-06-24 13:08:19 +10:00
8d191fb2e1 hash/keccak: add initial sha3 base 2016-06-20 18:05:30 +10:00
3a4fed804a fasthash: add initial implementation 2015-05-28 12:17:25 +10:00
a61ea32228 murmurhash: add initial translation 2015-05-25 16:12:45 +10:00