FastCollectionsByLeo/Src/ColHash/Hash/Number/Def.mqh

51 lines
1.7 KiB
MQL5
Raw Permalink Normal View History

2026-08-28 22:09:26 -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 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
//+------------------------------------------------------------------+