//+-------------------------------------------------------------------+ //| 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 LLMAGENTSBYLEO_SRC_ENUMREG_TABLE_MQH #define LLMAGENTSBYLEO_SRC_ENUMREG_TABLE_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #define LAGBL_ENUMREG_TABLE_SIZE_EXT (4ULL) #define LAGBL_ENUMREG_BUCKET_SIZE_EXT (2ULL) //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { const ulong g_llmagentsbyleobtools_ext_seeds[LAGBL_ENUMREG_BUCKET_SIZE_EXT] = { 10ULL, 0ULL }; const ulong g_llmagentsbyleobtools_ext_hashes[LAGBL_ENUMREG_TABLE_SIZE_EXT] = { 12550972167096445134ULL, // LLMAGENT_BTOOLS_TIME_SYMBOL 3353793493273480250ULL, // LLMAGENT_BTOOLS_TIME_GMT 2041980351617632733ULL, // LLMAGENT_BTOOLS_TIME_LOCAL 5206002871485161585ULL }; long g_llmagentsbyleobtools_ext_values[LAGBL_ENUMREG_TABLE_SIZE_EXT] = { 3, // LLMAGENT_BTOOLS_TIME_SYMBOL 0, // LLMAGENT_BTOOLS_TIME_GMT 2, // LLMAGENT_BTOOLS_TIME_LOCAL 1 // LLMAGENT_BTOOLS_TIME_SERVER }; long LAGBL_HashExt(const string& key) { //--- const int len = StringLen(key); ulong key_hash = 14695981039346656037ULL; FNV1a_64_AsM_Str(key, len, key_hash, 1099511628211ULL) const int seed_index = int(key_hash % LAGBL_ENUMREG_BUCKET_SIZE_EXT); //--- ulong h = key_hash + g_llmagentsbyleobtools_ext_seeds[seed_index] * 0x9e3779b97f4a7c15; h = (h ^ (h >> 30)) * 0xbf58476d1ce4e5b9; h = (h ^ (h >> 27)) * 0x94d049bb133111eb; h ^= (h >> 31); const int fi = int(h % LAGBL_ENUMREG_TABLE_SIZE_EXT); return g_llmagentsbyleobtools_ext_hashes[fi] == key_hash ? g_llmagentsbyleobtools_ext_values[fi] : 0; } long LAGBL_HashExt(const ulong key_hash) { const int seed_index = int(key_hash % LAGBL_ENUMREG_BUCKET_SIZE_EXT); //--- ulong h = key_hash + g_llmagentsbyleobtools_ext_seeds[seed_index] * 0x9e3779b97f4a7c15; h = (h ^ (h >> 30)) * 0xbf58476d1ce4e5b9; h = (h ^ (h >> 27)) * 0x94d049bb133111eb; h ^= (h >> 31); const int fi = int(h % LAGBL_ENUMREG_TABLE_SIZE_EXT); return g_llmagentsbyleobtools_ext_hashes[fi] == key_hash ? g_llmagentsbyleobtools_ext_values[fi] : 0; } } #endif // LLMAGENTSBYLEO_SRC_ENUMREG_TABLE_MQH