LLmAgentsBasicTools/Src/EnumReg/Table.mqh
2026-07-13 15:02:42 -05:00

82 lines
3 KiB
MQL5

//+-------------------------------------------------------------------+
//| 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 <TSN/Tables/AllHashes.mqh>
#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