Commit Graph

81 Commits

Author SHA1 Message Date
34788756d2 build: don't use './' as an include prefix
GCC produces ODR error when including paths of the form './foo' and
'foo' in the same binary. Rather than managing duplication we just
universally pick the absolute form over the relative form.
2017-11-22 16:49:37 +11:00
6d6c5c0cfc hash/crc: use relative include paths
We can't use system include paths for our headers because we are
probably not installed just yet..
2017-05-12 15:56:41 +10:00
f4093cb3d5 hash/crc: document template parameters 2017-02-20 18:01:40 +11:00
bec24535fc hash/crc: parameterise crc for reflection, and 64 bits 2017-02-14 19:47:12 +11:00
b39f80e606 hash/crc: parameterise on type and polynomial generator 2017-02-13 17:13:46 +11:00
154f43d188 sha2: style 2017-01-27 15:00:20 +11:00
4a73c1761b sha2: use constexpr for static numeric arrays 2017-01-27 14:59:59 +11:00
29c3fc9309 hash/crc: add trivial desciption comment to class 2017-01-25 16:14:49 +11:00
5a25f07f8e hash/crc: adapt implementation from png appendix 2017-01-25 16:12:12 +11:00
98dc992473 build: avoid integer length warnings 2017-01-05 19:50:28 +11:00
353cf839d4 use nested namespace declarations 2017-01-05 15:06:49 +11:00
f3fb385686 hash/xxhash: remove unnecessary foundation code 2016-12-21 21:08:26 +11:00
9711272989 xxhash: fix some integer conversion warnings 2016-12-12 15:45:21 +11:00
d1ec872bd4 xxhash: add forgotten C implementation 2016-11-18 13:24:34 +11:00
cb32823248 hash: add xxhash implementation 2016-11-17 18:38:09 +11:00
5b44b8f3e0 hash/simple: forward arguments to hash function 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
2015e71f64 build: workaround enum-to-int cast warnings in LOG calls 2016-10-11 21:44:04 +11:00
0b85632c97 ripemd: panic rather than throw in constexpr
calculating the hash should never need to throw; all error cases should
be detectable at construction time. we should panic if we detect such an
error.

this fixes a compilation warning
2016-08-01 17:23:30 +10:00
c4daffc001 build: add forgotten includes 2016-07-28 13:39:27 +10:00
e1c115c71a murmur2: make mixing constexpr and inline 2016-07-01 17:01:21 +10:00
6e533e47b7 hash/keccak: remove unused function 2016-06-29 17:55:30 +10:00
08536765b6 Merge branch 'crypto' 2016-06-20 18:08:46 +10:00
8d191fb2e1 hash/keccak: add initial sha3 base 2016-06-20 18:05:30 +10:00
bcda332900 hash/fwd: add forward declerations 2016-06-20 16:53:56 +10:00
f96c34d581 hash/simple: add simple oneshot hash calculator 2016-06-20 16:53:56 +10:00
33ade82ebf hash/md5: make header guards consistent with path 2016-06-20 16:53:56 +10:00
8824331c4b hash/crc: convert to object style accumulator 2016-06-20 16:53:56 +10:00
6338a85992 hash/bsdum: convert to object style accumulator 2016-06-20 16:38:57 +10:00
51e7995c63 hash/adler: convert to object style accumulator 2016-06-20 16:37:43 +10:00
73579f57aa hash: remove uint8/size_t update functions 2016-06-17 16:27:16 +10:00
ce26ce1238 hash: style 2016-06-17 16:20:09 +10:00
5e6155a51a hash: make use of restrict and noexcept consistent 2016-06-17 16:06:46 +10:00
ef17f9c7d1 hash: class decleration style 2016-06-17 15:57:09 +10:00
51487cd34e hash: put checksum functions into util:#️⃣: 2016-06-17 15:56:14 +10:00
aeba9033e0 hash: prefer iterator style over base/length 2016-06-17 15:46:11 +10:00
ba4b22c208 hash/md2: style 2016-06-17 15:37:54 +10:00
640b4aa6ca build: fix switch/enum coverage warnings
uncovered using clang's -Wswitch-enum
2016-05-12 17:45:29 +10:00
1f432c13b7 build: avoid type truncation warnings
discovered with clang's -Wshorten-64-to-32
2016-05-12 17:39:33 +10:00
9bbcfa6e63 make header paths more explicit 2016-04-05 11:06:35 +10:00
3993e561f8 unify licences 2016-02-26 13:36:01 +11:00
424e6e8701 cast: move types/casts to cast 2015-11-17 16:19:27 +11:00
7b083df977 maths: tighten up type requirements for almost_equal
almost_equal only operates on two reals, or two integers (and even then
only on the same signedness).
2015-11-13 17:18:10 +11:00
2469450ea9 murmur3: streamline 128 bit hash round functions
clang was getting tripped up calculating the tail half-rounds for the
128 bit hashes, so we streamline the round functions so it copes a
little better. plus, this is better code anyway.
2015-09-21 15:32:23 +10:00
72797793e9 h/murmur: remove unused source file 2015-06-04 22:18:00 +10:00
ff23146a68 hash: extract fnv1a hashes to new unit 2015-06-02 21:36:30 +10:00
588b38fd17 hash: move wang mixing funcs into seperate unit 2015-06-02 21:11:57 +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