функция возвращает NaN (неопределенное значение) - страница 3

 
Andrey Dik #:
Разработчики писали, что это может перестать работать в любой момент
Да, знаю.
Только вряд ли это произойдет когда-нибудь.
 
Andrey Dik #:

тут так то MQL5, причем здесь какие то стандарты?

константа в языке может быть системным дифайном, нет? - да, может. так почему бы не ввести системную MQL5-константу?

Судя по всему в мкл нет системной константы Не Числа. И быть не может, это разные состояния. И туда кроме определенных состояний могут входить и не определенные.

 

Есть вот такое (%MQL5\Include\Math\Stat\Math.mqh):

//+------------------------------------------------------------------+
//| Nans                                                             |
//+------------------------------------------------------------------+
double QNaN   =(double)"nan";   // QNaN
double QPOSINF=(double)"inf";   // +infinity 1.#INF
double QNEGINF=(double)"-inf";  // -infinity -1.#INF

И есть в Alglib вот такой класс (%MQL5\Include\Math\Alglib\bitconvert.mqh):

//+------------------------------------------------------------------+
//| Work with infinity and NaN                                       |
//+------------------------------------------------------------------+
class CInfOrNaN
  {
   ...
  }
 
Valeriy Yastremskiy #:

Судя по всему в мкл нет системной константы Не Числа.

Не определено, not defined 

 
есть nan и -nan

        double a = MathSqrt(-1);
        double b = a * -1;

 
Denis Kirichenko #:

Есть вот такое (%MQL5\Include\Math\Stat\Math.mqh):

И есть в Alglib вот такой класс (%MQL5\Include\Math\Alglib\bitconvert.mqh):

Vladimir Suslov #:
есть nan и -nan

интересно...

 
Насколько я понимаю, значение NaN определяется аппаратными средствами. Архитектурой и микропрограммой процессора (семейства процессоров). И не обязательно совпадает в разных семействах.
 
битовые значения nan и -nan очень даже определены.

читайте справку по union
 
Vladimir Suslov #:
битовые значения nan и -nan очень даже определены.

читайте справку по union

Там мы видим, что 0xFFF8000000000000 является NaN.

Но только ли оно является NaN? В любом ли случае мы будем получать именно это NaN? На любой ли архитектуре процессора?

 
JRandomTrader #:

Там мы видим, что 0xFFF8000000000000 является NaN.

Но только ли оно является NaN? В любом ли случае мы будем получать именно это NaN? На любой ли архитектуре процессора?

может это поможет?

есть ли константа для double NaN ?
есть ли константа для double NaN ?
  • 2020.11.17
  • www.mql5.com
есть ли константа для double NaN...
Причина обращения: