51 lines
1.7 KiB
MQL5
51 lines
1.7 KiB
MQL5
|
|
//+------------------------------------------------------------------+
|
||
|
|
//| 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 FASTCOLLECTIONSBYLEO_COLHASH_HASH_GENERIC_NUMBER_DEF_MQH
|
||
|
|
#define FASTCOLLECTIONSBYLEO_COLHASH_HASH_GENERIC_NUMBER_DEF_MQH
|
||
|
|
|
||
|
|
//+------------------------------------------------------------------+
|
||
|
|
//| |
|
||
|
|
//+------------------------------------------------------------------+
|
||
|
|
#include "..\\Def.mqh"
|
||
|
|
|
||
|
|
//+------------------------------------------------------------------+
|
||
|
|
//| Integers base |
|
||
|
|
//+------------------------------------------------------------------+
|
||
|
|
#define GENERICHHASH_SPLITMIX(x) \
|
||
|
|
x += 0x9E3779B97F4A7C15;\
|
||
|
|
x = (x ^ (x >> 30)) * 0xBF58476D1CE4E5B9;\
|
||
|
|
x = (x ^ (x >> 27)) * 0x94D049BB133111EB;\
|
||
|
|
x = x ^ (x >> 31);
|
||
|
|
|
||
|
|
//---
|
||
|
|
#define GENERICHHASH_FMIX(x) \
|
||
|
|
x ^= x >> 33;\
|
||
|
|
x *= 0xff51afd7ed558ccd;\
|
||
|
|
x ^= x >> 33;\
|
||
|
|
x *= 0xc4ceb9fe1a85ec53;\
|
||
|
|
x ^= x >> 33;
|
||
|
|
|
||
|
|
//---
|
||
|
|
#define GENERICHHASH_FIBBO_PLUS(x) \
|
||
|
|
x *= 0x9E3779B97F4A7C15; \
|
||
|
|
x ^= x >> 32;
|
||
|
|
|
||
|
|
//---
|
||
|
|
#define GENERICHHASH_FIBBO_MURMUR(x) \
|
||
|
|
x ^= x >> 27; \
|
||
|
|
x *= 0x3C79AC492BA7B653; \
|
||
|
|
x ^= x >> 33; \
|
||
|
|
x *= 0x1C69B3F74AC4AE35; \
|
||
|
|
x ^= x >> 27;
|
||
|
|
|
||
|
|
|
||
|
|
//---
|
||
|
|
#endif // FASTCOLLECTIONSBYLEO_COLHASH_HASH_GENERIC_NUMBER_DEF_MQH
|
||
|
|
//+------------------------------------------------------------------+
|