40 lines
1.5 KiB
MQL5
40 lines
1.5 KiB
MQL5
//+------------------------------------------------------------------+
|
|
//| MathExp.mq5 |
|
|
//| Copyright 2021, MetaQuotes Ltd. |
|
|
//| https://www.mql5.com |
|
|
//+------------------------------------------------------------------+
|
|
|
|
#define PRT(A) Print(#A, "=", (A))
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Custom implementation of binary logarithm |
|
|
//+------------------------------------------------------------------+
|
|
double Log2(double value)
|
|
{
|
|
return MathLog(value) / M_LN2;
|
|
}
|
|
|
|
//+------------------------------------------------------------------+
|
|
//| Script program start function |
|
|
//+------------------------------------------------------------------+
|
|
void OnStart()
|
|
{
|
|
PRT(MathExp(0.5)); // 1.648721270700128
|
|
PRT(MathPow(M_E, 0.5));// 1.648721270700128
|
|
PRT(MathExp(10000.0)); // inf, NaN
|
|
|
|
PRT(MathLog(M_E)); // 1.0
|
|
PRT(MathLog(10000.0)); // 9.210340371976184
|
|
PRT(MathLog(0.5)); // -0.6931471805599453
|
|
PRT(MathLog(0.0)); // -inf, NaN
|
|
PRT(MathLog(-0.5)); // -nan(ind)
|
|
|
|
PRT(Log2(128)); // 7
|
|
|
|
PRT(MathLog10(10.0)); // 1.0
|
|
PRT(MathLog10(10000.0)); // 4.0
|
|
|
|
PRT(MathExpm1(0.1)); // 0.1051709180756476
|
|
PRT(MathLog1p(0.1)); // 0.09531017980432487
|
|
}
|
|
//+------------------------------------------------------------------+
|