Простым способом без использования ieee_arithmatic
является выполнение следующих действий.
Бесконечность: Определите свою переменную infinity = HUGE(dbl_prec_var)
(или, если она у вас есть, переменная точности четности). Затем вы можете просто проверить, не изменилась ли ваша переменная на if(my_var > infinity)
.
NAN: Это еще проще. По определению, NAN не равна ничему, даже самому себе. Просто сравните переменную с самим собой: if(my_var /= my_var)
.