forked from nique_372/AiDataGenByLeo
105 lines
3.4 KiB
MQL4
105 lines
3.4 KiB
MQL4
//+-------------------------------------------------------------------+
|
|
//| 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 AIDATAGENBYLEO_GENERICDATA_ENUMREG_T
|
|
#define AIDATAGENBYLEO_GENERICDATA_ENUMREG_T
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
#define AIDATAGENBLEO_ENUMREG_TABLE_SIZE_EXT (13ULL)
|
|
#define AIDATAGENBLEO_ENUMREG_BUCKET_SIZE_EXT (5ULL)
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| |
|
|
//+------------------------------------------------------------------+
|
|
namespace TSN
|
|
{
|
|
const ulong g_aidatagenbyleo_enum_pf_seeds[AIDATAGENBLEO_ENUMREG_BUCKET_SIZE_EXT] =
|
|
{
|
|
0ULL,
|
|
8ULL,
|
|
0ULL,
|
|
7ULL,
|
|
5ULL
|
|
};
|
|
|
|
const ulong g_aidatagenbyleo_enum_pf_hashes[AIDATAGENBLEO_ENUMREG_TABLE_SIZE_EXT] =
|
|
{
|
|
604290716149806926ULL, // custom
|
|
17350876537769339438ULL, // Custom
|
|
2332068300138197746ULL, // NORMAL
|
|
0ULL, // invalid
|
|
5029201484663994962ULL, // Generate
|
|
4319715573236948914ULL, // GENERATE
|
|
11525575787956178258ULL, // Normal
|
|
5270012720953488932ULL, // AIDATALEO_GEN_MATRIX
|
|
6991063326977151602ULL, // normal
|
|
5043129902344554382ULL, // CUSTOM
|
|
10853168172642701938ULL, // generate
|
|
13984549749466622970ULL, // AIDATALEO_GEN_VECTOR
|
|
0ULL
|
|
};
|
|
|
|
long g_aidatagenbyleo_enum_pf_values[AIDATAGENBLEO_ENUMREG_TABLE_SIZE_EXT] =
|
|
{
|
|
1, // custom
|
|
1, // Custom
|
|
0, // NORMAL
|
|
0,
|
|
2, // Generate
|
|
2, // GENERATE
|
|
0, // Normal
|
|
0, // AIDATALEO_GEN_MATRIX
|
|
0, // normal
|
|
1, // CUSTOM
|
|
2, // generate
|
|
1, // AIDATALEO_GEN_VECTOR
|
|
0
|
|
};
|
|
|
|
/*
|
|
long AiLeo_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 % AIDATAGENBLEO_ENUMREG_BUCKET_SIZE_EXT);
|
|
//---
|
|
ulong h = key_hash + g_aidatagenbyleo_enum_pf_seeds[seed_index] * 0x9e3779b97f4a7c15;
|
|
h = (h ^ (h >> 30)) * 0xbf58476d1ce4e5b9;
|
|
h = (h ^ (h >> 27)) * 0x94d049bb133111eb;
|
|
h ^= (h >> 31);
|
|
|
|
const int fi = int(h % AIDATAGENBLEO_ENUMREG_TABLE_SIZE_EXT);
|
|
return g_aidatagenbyleo_enum_pf_hashes[fi] == key_hash ? g_aidatagenbyleo_enum_pf_values[fi] : 0;
|
|
}
|
|
|
|
long AiLeo_HashExt(const ulong key_hash)
|
|
{
|
|
const int seed_index = int(key_hash % AIDATAGENBLEO_ENUMREG_BUCKET_SIZE_EXT);
|
|
//---
|
|
ulong h = key_hash + g_aidatagenbyleo_enum_pf_seeds[seed_index] * 0x9e3779b97f4a7c15;
|
|
h = (h ^ (h >> 30)) * 0xbf58476d1ce4e5b9;
|
|
h = (h ^ (h >> 27)) * 0x94d049bb133111eb;
|
|
h ^= (h >> 31);
|
|
|
|
const int fi = int(h % AIDATAGENBLEO_ENUMREG_TABLE_SIZE_EXT);
|
|
return g_aidatagenbyleo_enum_pf_hashes[fi] == key_hash ? g_aidatagenbyleo_enum_pf_values[fi] : 0;
|
|
}
|
|
*/
|
|
}
|
|
#endif // AIDATAGENBYLEO_GENERICDATA_ENUMREG_T
|