Fortran:“do loop”的简称

时间:2011-04-12 10:02:57

标签: loops fortran openmp

嘿那里, 我有这样的代码:

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

这是“do-loop”的简短形式吗?我在谷歌上找不到任何关于它的东西...... 此外,我收到一个错误:

  

forrtl:severe(71):整数除以   零图像PC
  常规线源   libpthread.so.0 00007F473F0D892B   未知未知未知   libguide.so 00007F473F3CC20E   未知未知未知

执行程序(程序与OpenMP并行)关于THIS行(删除行删除错误消息)。可能是什么原因呢? 谢谢!

2 个答案:

答案 0 :(得分:4)

正如已经回答的那样,这是一个隐含的do循环。

istep,jstep还是kstep为零?这可能会导致整数除以零,因为程序试图计算循环迭代次数。

在没有OpenMP的情况下编译时程序是否正确运行?

答案 1 :(得分:1)

这些被称为隐式或隐含的do循环。

我没有看到该声明中有任何除零,它可能是周围的一条线吗?