Версия C ++ неявно сравнивает vx
и vy
с нулем.
В Фортране вы должны сделать это явно 1 :
if (vx /= 0 .or. vy /= 0) then
Поскольку оператор if
выглядит как оптимизация производительности, возможно, стоит задаться вопросом, нужно ли оно вообще или его можно заменить безусловным присваиванием vT
(которое установит vT
в ноль, если оба vx
и vy
равны нулю).
1 Надеюсь, я правильно понял;много лет не программировал на Фортране.