Получение -nan (ind) при двойном сложении с ++ - PullRequest
2 голосов
/ 16 июня 2020
• 1000 Как только достигается строка startImpatience[id] += ((1.0 - dif) * dt), значение элемента принимает значение -nan(ind). Вот фрагмент кода:
double pref_magnitude = sqrt((cPreferredVelocity[id].x * cPreferredVelocity[id].x) + (cPreferredVelocity[id].y * cPreferredVelocity[id].y));

double magnitude = sqrt((cVelocity[id].x * cVelocity[id].x) + (cVelocity[id].y * cVelocity[id].y));

double dif = pref_magnitude - magnitude / pref_magnitude;

startImpatience[id] *= (1.0 - dt);
// startImpatience[id] has a value

startImpatience[id] += ((1.0 - dif) * dt);
// startImpatience[id] is -nan(ind)

Каждая переменная, инициализация которой вы не видите, да, все они имеют тип double или vector of double.

Я не вижу, что не так с кодом любая помощь приветствуется!

...