forked from rosh/MQL5Book
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
| |||
}
| |||
//+------------------------------------------------------------------+
|