-nan(ind) в результате вычислений
У меня есть задача с некоторыми числовыми вычислениями и аппроксимацией дифф. уравнения, в частности используется такие библиотечные функции, как Zeroin, Rkf45, Spline, SEval и quanc8, написанные на C. Подключенные к проекту на C++ так:
extern "C"
{
#include "cmath.h"
};
При запуске программы массив выходных значений выдает -nan(ind). Однако в процессе лютой ярости программа была запущена несколько раз без каких-то изменений и в один из запусков массив результата выдал существующие значения.
В результате, каждые 10-15 запусков программа считает все правильно. Понимаю, что вопрос без кода достаточно абстрактный, так что прикладываю ссылку с паролем на pastebin. Я знаю, что nan - это результат неверных вычислений, но почему после неоднократного перезапуска программа выдавала (и продолжает выдавать) верные математические результаты? С чем это может быть связано?
pastebin: https://pastebin.com/QvNkVbcz password: 44yjWs7dDx
Ответы (1 шт):
Обычно если вы пользуетесь Visual Studio, он выдает -nan(ind) когда что-то вышло за границы переменной которую вы используете.
Для примера можно взять факториал и если будет стоять тип int и Вы введете 20 то тоже напишет в результате -nan(ind).