1

我正在编译在 Linux 中开发的 G77/GNU FORTRAN 代码,以便在 Windows 中与 Intel Fortran 一起使用。我在代码中得到了一个奇怪的分配来修改 DO 循环索引,例如 I+1=M 或 I-1=N,其中 I 在 DO 循环的索引中。英特尔 Fortran 编译器不接受这一点。英特尔 Fortran 编译器也不允许修改循环索引。英特尔 Fortran 中这些分配的等效代码是什么?

代码如下:

  DO L=2,LA  
    I=IL(L)  
    J=JL(L)  
    IF(IJCT(I-1,J).EQ.9)THEN
      L-1=LC
    ELSE
     L-1=LIJ(I-1,J)
     L-1=MAX(L-1,1)
    ENDIF
    IF(IJCT(I+1,J).EQ.9)THEN
     L+1=LC
    ELSE
     L+1=LIJ(I+1,J)
     L+1=MAX(L+1,1)
    ENDIF
  ENDDO 
4

0 回答 0