математика — использование NAN в переполнении стека

В настоящее время я работаю над написанием небольшой библиотеки по математике в php. Я знаю, что существует какой-то аналог javascript NaN в php это константа NAN из float тип.

До сих пор я никогда не сталкивался с этой константой, кроме стандартных функций PHP, таких как asin() и так, который вернет это NAN значение, если вы передаете им недопустимый параметр (> 1 в данном случае).
Это значение не обнаружено is_float() а также is_numeric() так как это из float типа, обе эти функции возвращают true и единственный способ проверить это is_nan(), Кроме того, приведение его к (int) приведет к 0;

$x = asin(3);   // $x = NAN
is_float($x);   // true
is_numeric($x); // true
$d = (int)$x    // $d = 0;

is_nan(0.5)     // false
is_nan($x)      // true

Но ни одна из существующих библиотек, о которых я знаю, не использует это поведение, вместо этого, как кажется, выбрасывание ошибки является обычным выбором.

Итак, мои вопросы: какой подход я должен выбрать? почему нигде, кроме стандартных функций php, NAN используется?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]