23 * `cx_hash_key_str()` conveniently takes a C string and computes the length |
23 * `cx_hash_key_str()` conveniently takes a C string and computes the length |
24 * `cx_hash_key_cxstr()` conveniently takes a [UCX string](string.h.md) |
24 * `cx_hash_key_cxstr()` conveniently takes a [UCX string](string.h.md) |
25 |
25 |
26 In all cases, the hash will be available in the `hash` field of the returned structure. |
26 In all cases, the hash will be available in the `hash` field of the returned structure. |
27 |
27 |
28 <note> |
28 |
29 UCX assigns the hash value <code>1574210520</code> to the <code>NULL</code> pointer. |
29 > UCX assigns the hash value `1574210520` to the `NULL` pointer. |
30 This is a careful choice which is not standard MurmurHash2 and an extension to support <code>NULL</code> pointers. |
30 > This is a careful choice which is not standard MurmurHash2 and an extension to support `NULL` pointers. |
31 </note> |
|
32 |
31 |
33 If you want to create a hash completely manually, |
32 If you want to create a hash completely manually, |
34 you can initialize the `data` and `len` members of `CxHashKey` |
33 you can initialize the `data` and `len` members of `CxHashKey` |
35 and call `cx_hash_murmur()`. |
34 and call `cx_hash_murmur()`. |
36 It is _not_ recommended to do so. |
35 It is _not_ recommended to do so. |