Фортран: сокращение от "do loop" - PullRequest
1 голос
/ 12 апреля 2011

Привет, У меня есть такой код:

write (filehandle,'(5e14.6)')
     &    (((my_array(i,j,k,1),i=istart,iend,istep),j=jstart,jend,jstep),k=kstart,kend,kstep)

это короткая форма для "do-loop"? Я не мог найти что-нибудь об этом в Google ... Кроме того, я получаю сообщение об ошибке:

forrtl: суровое (71): целочисленное деление на нулевое изображение ПК
Обычная Линия Источник libpthread.so.0 00007F473F0D892B Неизвестный Неизвестный Неизвестный libguide.so 00007F473F3CC20E Неизвестный Неизвестный Неизвестный

при выполнении программы (программа распараллелена с OpenMP) относительно ЭТОЙ строки (удаление строки удаляет ошибку-msg) Что может быть причиной этого? Спасибо!

Ответы [ 2 ]

4 голосов
/ 12 апреля 2011

Как уже ответили, это неявный цикл do.

Может ли istep, jstep или kstep нулем? Это может привести к целочисленному делению на ноль, поскольку программа пыталась вычислить количество итераций цикла.

Правильно ли работает программа при компиляции без OpenMP?

1 голос
/ 12 апреля 2011

Они называются неявными или подразумеваемыми циклами действий.

Я не вижу деления на ноль в этом утверждении, это может быть одна из окружающих строк?

...