//+------------------------------------------------------------------+ //| MathRand.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_RANDOM_MATHRAND_MQH #define SIMPHASH_SRC_RANDOM_MATHRAND_MQH //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ #include "Def.mqh" //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ namespace TSN { //+------------------------------------------------------------------+ //| | //+------------------------------------------------------------------+ class CRandomGeneratorMRand : public IRandomGenerator { private: ulong m_seed; public: CRandomGeneratorMRand(void) {} ~CRandomGeneratorMRand(void) {} //--- bool Init(CYmlNode& node) override final { MathSrand(uint(node["seed"].ToInt(GetTickCount()))); return true; } ulong Generate() override final { return ulong(MathRand()) | ulong(MathRand()) << 16 | ulong(MathRand()) << 32 | ulong(MathRand()) << 48; } }; } //+------------------------------------------------------------------+ #endif // SIMPHASH_SRC_RANDOM_MATHRAND_MQH