Runtime [hash]: Fixed hashing of wide stings on big-endian.
The string length wasn't converted to bytes in the wide siphash variants.
Fixes several testsuite failures on big-endian architectures.
Siphash24: added byte order independent versions for wide strings
This commits adds two versions of siphash for both 16 and 32 bit wide
strings. They are identical to the 8bit version on little endian
The different siphash versions are now also available dynamic modules.
Added a new hash() function using siphash.
unsigned INT64 -> UINT64
Removed trailing spaces.
Build: Support compilation with compilers other than gcc again.
Replace all uses of __attribute((unused)) with PIKE_ATTRIBUTE_UNUSED.
Replaced all remaining uses of __attribute() and __attribute__()
SipHash24: added byte order independent versions for wide strings
- the current siphash version does not know about wide strings, so
the hash value for wide strings depends on the byte order. added
versions for both 16 and 32 bit wide chars
- also replaced the manual little endian reading routines by the
get_unaligned_le64 macros, which generate much shorter code for
- added siphash24_pike_string which will generate a byte order
independent hash value
- use siphash24_pike_string in ADT.Bloom.String
siphash: make key and return value INT64
build: more fixes for windows.
Merge branch '8.0' into gobject-introspection
Wrap comment to 80.
Revert "siphash: follow the reference implementation a bit more closely."
This reverts commit 636df518f7412e85eb8ab5010a1f5194780b6557.
siphash: follow the reference implementation a bit more closely.
low_hashmem: remove the old generic hashmem by siphash24