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