//+-------------------------------------------------------------------+ //| Include generado por la herramienta PerfectHash SimPHash | //| Esta heramienta forma parte del ecositema TSN | //| Repositorio: https://forge.mql5.io/nique_372/SimPHash | //+-------------------------------------------------------------------+ #property copyright "Copyright 2026, Niquel Mendoza" #property link "https://www.mql5.com/" #property strict //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include #ifndef JSONPARSERBYLEO_SRC_TABLES_TABLES_MQH #define JSONPARSERBYLEO_SRC_TABLES_TABLES_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #define JPBL_ENUMREG_TABLE_SIZE_EXT (3ULL) #define JPBL_ENUMREG_BUCKET_SIZE_EXT (1ULL) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { const ulong g_jsonparserbyleo_ext_seeds[JPBL_ENUMREG_BUCKET_SIZE_EXT] = { 2ULL }; const ulong g_jsonparserbyleo_ext_hashes[JPBL_ENUMREG_TABLE_SIZE_EXT] = { 8494794881307187142ULL, // jsonasm 9663995960464164898ULL, // jsontc 2358882204983900163ULL }; const long g_jsonparserbyleo_ext_values[JPBL_ENUMREG_TABLE_SIZE_EXT] = { 2, // jsonasm 1, // jsontc 0 // json }; long JPBL_HashExt(const string& key) { //--- const int len = StringLen(key); ulong key_hash = 14695981039346656037ULL; // Custom para extension files... bool is = false; for(int i = 0; i < len; i++) { if(is) { key_hash ^= (uchar)key[i]; key_hash *= 1099511628211ULL; continue; } if(key[i] == '.') is = true; } const int seed_index = int(key_hash % JPBL_ENUMREG_BUCKET_SIZE_EXT); //--- ulong h = key_hash + g_jsonparserbyleo_ext_seeds[seed_index] * 0x9e3779b97f4a7c15; h = (h ^ (h >> 30)) * 0xbf58476d1ce4e5b9; h = (h ^ (h >> 27)) * 0x94d049bb133111eb; h ^= (h >> 31); const int fi = int(h % JPBL_ENUMREG_TABLE_SIZE_EXT); return g_jsonparserbyleo_ext_hashes[fi] == key_hash ? g_jsonparserbyleo_ext_values[fi] : 0; } } #endif // JSONPARSERBYLEO_SRC_TABLES_TABLES_MQH