6c38dd2606
Merge math and hash packages
2025-09-03 14:01:58 +02:00
2a67ccd954
Use standard range API
2025-08-27 13:52:11 +02:00
b8fa670c5a
Merge os, middle and meta subpackages
2025-08-25 16:09:03 +02:00
720d259cfc
Make isWideString compatible with Phobos isNarrowString
2025-08-25 14:32:34 +02:00
1857d59375
Update copyrights to 2025
2025-08-24 09:01:59 +02:00
728eaf88fb
Remove traits depending on deprecated complex
2023-03-25 15:55:57 +01:00
3ce5e8153c
Update copyrights
2020-05-05 07:46:10 +02:00
20c7e47ff7
net: Add missing public imports, move tests
2019-03-19 08:47:39 +01:00
Nathan Sashihara
a786bdbec5
Use word-wise hash instead of FNV-1a for arrays of word-aligned scalars
...
Also special case int-aligned scalars on 64-bit machines.
On a 64-bit machine hashing an array of pointers is now ~5.95x faster
with LDC2 and ~8.54x faster with DMD, and hashing an array of ints is
~3.34x faster with LDC2 and ~8.12x faster with DMD.
2019-02-12 10:34:18 -05:00
49d7452b33
Make containers work with non-copyable elements
...
It is the first step. The containers can be at least created with
non-copyable structs without compilation errors now.
Fix #69 .
2018-11-24 06:25:55 +01:00
Nathan Sashihara
b230685595
Add FNV constants for size_t == ucent
2018-10-25 07:07:29 -04:00
b831a05407
Introduce hash.lookup.isHashFunction trait
...
Fix #66 .
2018-09-14 15:16:08 +02:00
Nathan Sashihara
ceb8e6a113
Use identity hash for integers and pointers
...
This is appropriate because HashArray in tanya.container.entry uses
prime numbers instead of powers of 2 for its number of buckets so there
is no pitfall if the hashes are all multiples of some power of 2.
2018-08-02 12:37:02 -04:00
385ec19e2f
hash.lookup: Reformat the docs
2018-05-17 05:30:49 +02:00
92f21a95cf
Add hashing pointers
2018-03-27 05:18:46 +02:00
72140a8583
Add documentation for the hash function
2018-03-27 05:09:44 +02:00
442fa5b46a
Fix hashing scalar types
2018-03-27 05:09:22 +02:00
0d6d8f6a91
Add hash combining for ranges
2018-03-27 05:09:09 +02:00
cefc4e24b5
Add FNV-1a test vectors
2018-03-27 05:08:55 +02:00
1adc4cd868
Add hash.lookup module
2018-03-27 05:08:28 +02:00