Тут получается isnan и isInfinite вернет true

В этом варианте
if(isnan(NaN)==isnan(NaN)) вернет true получается?
isInfinite(NaN) вернёт false, а в остальном верно.
Это все понятно, но у меня почему-то
Цитата:
NaN == NaN
возвращает как если бы true, а точнее false, но блок все равно выполняется
Как я уже говорил, под NaN==NaN я имею ввиду два результата деления А==В
В одном из А или В или в двух одновременно случается NaN, но блок все равно выполняется
Код:
if(A==B){С[j]=1;}
То есть в результате я имею массив С заполненный только одними единицами, хотя вроде как не должен из-за false
Как это исправить - не пойму...
Хелп!