MCPcopy Create free account
hub / github.com/ashvardanian/StringZilla / test_equivalence

Function test_equivalence

scripts/test_stringzilla.cpp:1062–1184  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1060}
1061
1062void test_equivalence() {
1063
1064 // Ensure the seed affects hash results
1065 assert(sz_hash_serial("abc", 3, 100) != sz_hash_serial("abc", 3, 200));
1066 assert(sz_hash_serial("abcdefgh", 8, 0) != sz_hash_serial("abcdefgh", 8, 7));
1067
1068#if SZ_USE_WESTMERE
1069 test_hash_equivalence( //
1070 sz_hash_serial, sz_hash_state_init_serial, //
1071 sz_hash_state_update_serial, sz_hash_state_digest_serial, //
1072 sz_hash_westmere, sz_hash_state_init_westmere, //
1073 sz_hash_state_update_westmere, sz_hash_state_digest_westmere);
1074 test_random_generator_equivalence(sz_fill_random_serial, sz_fill_random_westmere);
1075#endif
1076#if SZ_USE_SKYLAKE
1077 test_hash_equivalence( //
1078 sz_hash_serial, sz_hash_state_init_serial, //
1079 sz_hash_state_update_serial, sz_hash_state_digest_serial, //
1080 sz_hash_skylake, sz_hash_state_init_skylake, //
1081 sz_hash_state_update_skylake, sz_hash_state_digest_skylake);
1082 test_random_generator_equivalence(sz_fill_random_serial, sz_fill_random_skylake);
1083#endif
1084#if SZ_USE_ICE
1085 test_hash_equivalence( //
1086 sz_hash_serial, sz_hash_state_init_serial, //
1087 sz_hash_state_update_serial, sz_hash_state_digest_serial, //
1088 sz_hash_ice, sz_hash_state_init_ice, //
1089 sz_hash_state_update_ice, sz_hash_state_digest_ice);
1090 test_random_generator_equivalence(sz_fill_random_serial, sz_fill_random_ice);
1091#endif
1092#if SZ_USE_NEON_AES
1093 test_hash_equivalence( //
1094 sz_hash_serial, sz_hash_state_init_serial, //
1095 sz_hash_state_update_serial, sz_hash_state_digest_serial, //
1096 sz_hash_neon, sz_hash_state_init_neon, //
1097 sz_hash_state_update_neon, sz_hash_state_digest_neon);
1098 test_random_generator_equivalence(sz_fill_random_serial, sz_fill_random_neon);
1099#endif
1100#if SZ_USE_SVE2_AES
1101 test_hash_equivalence( //
1102 sz_hash_serial, sz_hash_state_init_serial, //
1103 sz_hash_state_update_serial, sz_hash_state_digest_serial, //
1104 sz_hash_sve2, sz_hash_state_init_sve2, //
1105 sz_hash_state_update_sve2, sz_hash_state_digest_sve2);
1106 test_random_generator_equivalence(sz_fill_random_serial, sz_fill_random_sve2);
1107#endif
1108
1109 // Test SHA256 implementations
1110#if SZ_USE_ICE
1111 test_sha256_equivalence( //
1112 sz_sha256_state_init_serial, sz_sha256_state_update_serial, sz_sha256_state_digest_serial, //
1113 sz_sha256_state_init_ice, sz_sha256_state_update_ice, sz_sha256_state_digest_ice //
1114 );
1115#endif
1116#if SZ_USE_GOLDMONT
1117 test_sha256_equivalence( //
1118 sz_sha256_state_init_serial, sz_sha256_state_update_serial, sz_sha256_state_digest_serial, //
1119 sz_sha256_state_init_goldmont, sz_sha256_state_update_goldmont, sz_sha256_state_digest_goldmont //

Callers 1

mainFunction · 0.85

Calls 9

sz_hash_serialFunction · 0.85
test_hash_equivalenceFunction · 0.85
test_sha256_equivalenceFunction · 0.85
test_utf8_equivalenceFunction · 0.85
test_utf8_case_fold_fuzzFunction · 0.85
scale_iterationsFunction · 0.85
test_utf8_ci_find_fuzzFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…