derivato da nique_372/SimPHash
47 righe
1,8 KiB
MQL5
47 righe
1,8 KiB
MQL5
//+------------------------------------------------------------------+
| |||
//| 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
|