This commit is contained in:
+21
-21
@@ -12,7 +12,7 @@ WpTestFuncResult test_murmur3(void) {
|
||||
WpI32Array arr = wpArray(i32, 1, 2, 3, 4, 5);
|
||||
u64 num = 287324;
|
||||
|
||||
WpMur3HasherCtx ctx = wpMur3HasherCtx(873923);
|
||||
WpHasher hasher = wpX64Mur3HasherWithSeed(873923);
|
||||
|
||||
WpU8Stream str_bytes = wpStream(u8, str.buf, str.size);
|
||||
WpU8Stream arr_bytes = wpStream(u8, (u8 *)arr, wpArrayCount(arr) * wpArrayItemSize(arr));
|
||||
@@ -21,22 +21,22 @@ WpTestFuncResult test_murmur3(void) {
|
||||
u64 hash[2] = {0};
|
||||
|
||||
// Sring hash
|
||||
WpU128Hash mur_hash = wpX64Mur3Hasher128(&str_bytes, (void *)&ctx);
|
||||
MurmurHash3_x64_128(str_bytes.data, str_bytes.count * str_bytes.item_size, ctx.seed, (void *)hash);
|
||||
WpU128 mur_hash = hasher.func(&str_bytes, hasher.ctx);
|
||||
MurmurHash3_x64_128(str_bytes.data, str_bytes.count * str_bytes.item_size, hasher.ctx.murmur3, (void *)hash);
|
||||
|
||||
result = result && mur_hash.hash[0] == hash[0] && mur_hash.hash[1] == hash[1];
|
||||
result = result && mur_hash.value[0] == hash[0] && mur_hash.value[1] == hash[1];
|
||||
|
||||
// Array hash
|
||||
mur_hash = wpX64Mur3Hasher128(&arr_bytes, (void *)&ctx);
|
||||
MurmurHash3_x64_128(arr_bytes.data, arr_bytes.count * arr_bytes.item_size, ctx.seed, (void *)hash);
|
||||
mur_hash = hasher.func(&arr_bytes, hasher.ctx);
|
||||
MurmurHash3_x64_128(arr_bytes.data, arr_bytes.count * arr_bytes.item_size, hasher.ctx.murmur3, (void *)hash);
|
||||
|
||||
result = result && mur_hash.hash[0] == hash[0] && mur_hash.hash[1] == hash[1];
|
||||
result = result && mur_hash.value[0] == hash[0] && mur_hash.value[1] == hash[1];
|
||||
|
||||
// Number hash
|
||||
mur_hash = wpX64Mur3Hasher128(&num_bytes, (void *)&ctx);
|
||||
MurmurHash3_x64_128(num_bytes.data, num_bytes.count * num_bytes.item_size, ctx.seed, (void *)hash);
|
||||
mur_hash = hasher.func(&num_bytes, hasher.ctx);
|
||||
MurmurHash3_x64_128(num_bytes.data, num_bytes.count * num_bytes.item_size, hasher.ctx.murmur3, (void *)hash);
|
||||
|
||||
result = result && mur_hash.hash[0] == hash[0] && mur_hash.hash[1] == hash[1];
|
||||
result = result && mur_hash.value[0] == hash[0] && mur_hash.value[1] == hash[1];
|
||||
|
||||
return wpTesterResult(result);
|
||||
}
|
||||
@@ -48,8 +48,8 @@ WpTestFuncResult test_siphash_128(void) {
|
||||
WpI32Array arr = wpArray(i32, 1, 2, 3, 4, 5);
|
||||
u64 num = 287324;
|
||||
|
||||
WpSipHasherKey key = { 238742, 671734 };
|
||||
WpSipHasherCtx ctx = wpSip24HasherCtx(key);
|
||||
WpU128 key = { { 238742, 671734 } };
|
||||
WpHasher hasher = wpSip24HasherWithKey(key);
|
||||
|
||||
WpU8Stream str_bytes = wpStream(u8, str.buf, str.size);
|
||||
WpU8Stream arr_bytes = wpStream(u8, (u8 *)arr, wpArrayCount(arr) * wpArrayItemSize(arr));
|
||||
@@ -58,25 +58,25 @@ WpTestFuncResult test_siphash_128(void) {
|
||||
u64 hash[2] = {0};
|
||||
|
||||
// Sring hash
|
||||
WpU128Hash sip_hash = wpSipHasher128(&str_bytes, (void *)&ctx);
|
||||
siphash(str_bytes.data, str_bytes.count * str_bytes.item_size, (void *)&ctx.key,
|
||||
WpU128 sip_hash = hasher.func(&str_bytes, hasher.ctx);
|
||||
siphash(str_bytes.data, str_bytes.count * str_bytes.item_size, (void *)&hasher.ctx.siphash.key,
|
||||
(u8 *)hash, sizeof(u64) * 2);
|
||||
|
||||
result = result && sip_hash.hash[0] == hash[0] && sip_hash.hash[1] == hash[1];
|
||||
result = result && sip_hash.value[0] == hash[0] && sip_hash.value[1] == hash[1];
|
||||
|
||||
// Array hash
|
||||
sip_hash = wpSipHasher128(&arr_bytes, (void *)&ctx);
|
||||
siphash(arr_bytes.data, arr_bytes.count * arr_bytes.item_size, (void *)&ctx.key,
|
||||
sip_hash = hasher.func(&arr_bytes, hasher.ctx);
|
||||
siphash(arr_bytes.data, arr_bytes.count * arr_bytes.item_size, (void *)&hasher.ctx.siphash.key,
|
||||
(u8 *)hash, sizeof(u64) * 2);
|
||||
|
||||
result = result && sip_hash.hash[0] == hash[0] && sip_hash.hash[1] == hash[1];
|
||||
result = result && sip_hash.value[0] == hash[0] && sip_hash.value[1] == hash[1];
|
||||
|
||||
// Number hash
|
||||
sip_hash = wpSipHasher128(&num_bytes, (void *)&ctx);
|
||||
siphash(num_bytes.data, num_bytes.count * num_bytes.item_size, (void *)&ctx.key,
|
||||
sip_hash = hasher.func(&num_bytes, hasher.ctx);
|
||||
siphash(num_bytes.data, num_bytes.count * num_bytes.item_size, (void *)&hasher.ctx.siphash.key,
|
||||
(u8 *)hash, sizeof(u64) * 2);
|
||||
|
||||
result = result && sip_hash.hash[0] == hash[0] && sip_hash.hash[1] == hash[1];
|
||||
result = result && sip_hash.value[0] == hash[0] && sip_hash.value[1] == hash[1];
|
||||
|
||||
return wpTesterResult(result);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user