2026-06-26 12:44:41 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Def.mqh |
|
| | | //| Copyright 2026, Niquel Mendoza. |
|
| | | //| https://www.mql5.com/ |
|
| | | //+------------------------------------------------------------------+
|
| | | #property copyright "Copyright 2026, Niquel Mendoza."
|
| | | #property link "https://www.mql5.com/"
|
| | | #property strict
|
| | |
|
| | | #ifndef SIMPHASH_SRC_HASH_DEF_MQH
|
| | | #define SIMPHASH_SRC_HASH_DEF_MQH
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | #include "..\\Def.mqh"
|
| | |
|
2026-06-27 21:28:54 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | enum ENUM_HASH_UL1_TYPE
|
| | | {
|
| | | HASH_UL1_MUR_MUR,
|
| | | HASH_UL1_SPLITMIX,
|
2026-07-28 11:19:10 -05:00 | | | HASH_UL1_FMIX,
|
| | | HASH_UL1_FIBBO
|
2026-06-27 21:28:54 -05:00 | | | };
|
| | |
|
2026-06-28 17:05:25 -05:00 | | | enum ENUM_TSN_PHASH_TYPE
|
| | | {
|
| | | TSN_PHASH_TYPE_FNV1A_64,
|
| | | TSN_PHASH_TYPE_XXHASH_64
|
| | | };
|
2026-06-27 21:28:54 -05:00 | | |
|
2026-06-26 12:44:41 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| |
|
| | | //+------------------------------------------------------------------+
|
| | | namespace TSN
|
| | | {
|
2026-06-27 21:28:54 -05:00 | | | //+------------------------------------------------------------------+
|
| | | //| Hash 1 |
|
| | | //+------------------------------------------------------------------+
|
2026-07-27 15:07:46 -05:00 | | | interface IHashGeneratorWSeed : public CPerfectHashHasherWSeed
|
2026-06-27 21:28:54 -05:00 | | | {
|
| | | // Sin parametros..
|
| | | void BuildString(string& data, const string& table_seeds_name);
|
| | | void AddIncludes(string& data);
|
| | | };
|
| | |
|
| | | //+------------------------------------------------------------------+
|
| | | //| Hash para string |
|
| | | //+------------------------------------------------------------------+
|
2026-06-26 12:44:41 -05:00 | | | class IHashGenerator : public CLoggerBase
|
| | | {
|
| | | public:
|
| | | IHashGenerator() {}
|
| | | ~IHashGenerator() {}
|
| | |
|
| | | //---
|
| | | virtual ulong Hash(const string& key) = 0;
|
| | | virtual bool Init(CYmlNode& node) = 0;
|
2026-06-27 21:28:54 -05:00 | | | virtual void BuildString(string& data) = 0;
|
2026-06-26 12:44:41 -05:00 | | | virtual void AddIncludes(string& data) = 0;
|
| | | };
|
| | | }
|
| | | //+------------------------------------------------------------------+
|
| | | #endif // SIMPHASH_SRC_HASH_DEF_MQH
|