pr24823.f

来自「linux下编程用 编译软件」· F 代码 · 共 79 行

F
79
字号
!     { dg-do compile }!     { dg-options "-O2" }!     PR24823 Flow didn't handle a PARALLEL as destination of a SET properly.      SUBROUTINE ZLATMR( M, N, DIST, ISEED, SYM, D, MODE, COND, DMAX,     $     RSIGN, GRADE, DL, MODEL, CONDL, DR, MODER,     $     PACK, A, LDA, IWORK, INFO )      COMPLEX*16         A( LDA, * ), D( * ), DL( * ), DR( * )      LOGICAL            BADPVT, DZERO, FULBND      COMPLEX*16         ZLATM2, ZLATM3      IF( IGRADE.EQ.4 .AND. MODEL.EQ.0 ) THEN      END IF      IF( IPVTNG.GT.0 ) THEN      END IF      IF( M.LT.0 ) THEN      ELSE IF( IPACK.EQ.-1 .OR. ( ( IPACK.EQ.1 .OR. IPACK.EQ.2 .OR.     $        IPACK.EQ.5 .OR. IPACK.EQ.6 ) .AND. ISYM.EQ.1 ) .OR.     $        ( IPACK.EQ.3 .AND. ISYM.EQ.1 .AND. ( KL.NE.0 .OR. M.NE.     $        6 ) .AND. LDA.LT.KUU+1 ) .OR.     $        ( IPACK.EQ.7 .AND. LDA.LT.KLL+KUU+1 ) ) THEN         INFO = -26      END IF      IF( INFO.NE.0 ) THEN         RETURN      END IF      IF( KUU.EQ.N-1 .AND. KLL.EQ.M-1 )     $     FULBND = .TRUE.      IF( MODE.NE.0 .AND. MODE.NE.-6 .AND. MODE.NE.6 ) THEN         TEMP = ABS( D( 1 ) )         IF( TEMP.EQ.ZERO .AND. DMAX.NE.CZERO ) THEN            INFO = 2         END IF      END IF      IF( ISYM.EQ.0 ) THEN      END IF      IF( IGRADE.EQ.1 .OR. IGRADE.EQ.3 .OR. IGRADE.EQ.4 .OR. IGRADE.EQ.     $     5 .OR. IGRADE.EQ.6 ) THEN         IF( INFO.NE.0 ) THEN         END IF      END IF      IF( FULBND ) THEN         IF( IPACK.EQ.0 ) THEN            IF( ISYM.EQ.0 ) THEN               CTEMP = ZLATM3( M, N, I, J, ISUB, JSUB, KL, KU,     $              IWORK, SPARSE )               DO 120 I = 1, M                  CTEMP = ZLATM3( M, N, I, J, ISUB, JSUB, KL, KU,     $                 IWORK, SPARSE ) 120           CONTINUE            END IF            IF( I.LT.1 ) THEN               IF( ISYM.EQ.0 ) THEN                  A( J-I+1, I ) = DCONJG( ZLATM2( M, N, I, J, KL,     $                 DR, IPVTNG, IWORK, SPARSE ) )               ELSE                  A( J-I+1, I ) = ZLATM2( M, N, I, J, KL, KU,     $                 IPVTNG, IWORK, SPARSE )               END IF            END IF            IF( ISYM.NE.1 ) THEN               IF( I.GE.1 .AND. I.NE.J ) THEN                  IF( ISYM.EQ.0 ) THEN                  END IF               END IF               A( I-J+KUU+1, J ) = ZLATM2( M, N, I, J, KL, KU,     $              DR, IPVTNG, IWORK, SPARSE )            END IF         END IF      END IF      IF( IPACK.EQ.0 ) THEN         ONORM = ZLANGB( 'M', N, KLL, KUU, A, LDA, TEMPA )      END IF      IF( ANORM.GE.ZERO ) THEN         IF( ANORM.GT.ZERO .AND. ONORM.EQ.ZERO ) THEN            IF( IPACK.LE.2 ) THEN            END IF         END IF      END IF      END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?