497d3ca970
build: update for gcc-8.1 warnings
2018-05-03 18:32:08 +10:00
1c150296f9
hash/siphash: qualify local helper functions as static
2018-05-03 17:32:45 +10:00
6f51b82f65
siphash: add initial implementation
2018-01-23 18:57:04 +11:00
dd9a4a4646
xxhash: update copyright date
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
9bb2bdbaba
Merge remote-tracking branch 'origin/master'
2018-01-10 17:19:39 +11:00
2713da45f4
format: rework parser for currying support
2018-01-09 16:28:46 +11:00
d3f434b523
coord: make template parameters more flexible
...
The coordinate system was unable to support types that prohibited
redim or retype operations. Additionally, the `tags' type used for
providing named data parameters was unwiedly.
We remove much of the dependance on template template parameters in the
defined operations and instead define these in terms of a template
specialisation of is_coord.
The tag types were replaced with direct specialisation of the `store'
struct by the primary type, and passing this type through use of the
CRTP.
2017-11-22 17:03:00 +11:00
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