Diff for /rpl/lapack/blas/drotm.f between versions 1.7 and 1.8

version 1.7, 2010/12/21 13:51:25 version 1.8, 2011/07/22 07:38:01
Line 61 Line 61
 *     ..  *     ..
 *  *
       DFLAG = DPARAM(1)        DFLAG = DPARAM(1)
       IF (N.LE.0 .OR. (DFLAG+TWO.EQ.ZERO)) GO TO 140        IF (N.LE.0 .OR. (DFLAG+TWO.EQ.ZERO)) RETURN
       IF (.NOT. (INCX.EQ.INCY.AND.INCX.GT.0)) GO TO 70        IF (INCX.EQ.INCY.AND.INCX.GT.0) THEN
 *  *
       NSTEPS = N*INCX           NSTEPS = N*INCX
       IF (DFLAG.LT.ZERO) THEN           IF (DFLAG.LT.ZERO) THEN
          GO TO 50              DH11 = DPARAM(2)
       ELSE IF (DFLAG.EQ.ZERO) THEN              DH12 = DPARAM(4)
          GO TO 10               DH21 = DPARAM(3)
               DH22 = DPARAM(5)
               DO I = 1,NSTEPS,INCX
                  W = DX(I)
                  Z = DY(I)
                  DX(I) = W*DH11 + Z*DH12
                  DY(I) = W*DH21 + Z*DH22
               END DO
            ELSE IF (DFLAG.EQ.ZERO) THEN
               DH12 = DPARAM(4)
               DH21 = DPARAM(3)
               DO I = 1,NSTEPS,INCX
                  W = DX(I)
                  Z = DY(I)
                  DX(I) = W + Z*DH12
                  DY(I) = W*DH21 + Z
               END DO
            ELSE
               DH11 = DPARAM(2)
               DH22 = DPARAM(5)
               DO I = 1,NSTEPS,INCX
                  W = DX(I)
                  Z = DY(I)
                  DX(I) = W*DH11 + Z
                  DY(I) = -W + DH22*Z
               END DO
            END IF
       ELSE        ELSE
          GO TO 30           KX = 1
       END IF           KY = 1
    10 CONTINUE           IF (INCX.LT.0) KX = 1 + (1-N)*INCX
       DH12 = DPARAM(4)           IF (INCY.LT.0) KY = 1 + (1-N)*INCY
       DH21 = DPARAM(3)  
       DO 20 I = 1,NSTEPS,INCX  
           W = DX(I)  
           Z = DY(I)  
           DX(I) = W + Z*DH12  
           DY(I) = W*DH21 + Z  
    20 CONTINUE  
       GO TO 140  
    30 CONTINUE  
       DH11 = DPARAM(2)  
       DH22 = DPARAM(5)  
       DO 40 I = 1,NSTEPS,INCX  
           W = DX(I)  
           Z = DY(I)  
           DX(I) = W*DH11 + Z  
           DY(I) = -W + DH22*Z  
    40 CONTINUE  
       GO TO 140  
    50 CONTINUE  
       DH11 = DPARAM(2)  
       DH12 = DPARAM(4)  
       DH21 = DPARAM(3)  
       DH22 = DPARAM(5)  
       DO 60 I = 1,NSTEPS,INCX  
           W = DX(I)  
           Z = DY(I)  
           DX(I) = W*DH11 + Z*DH12  
           DY(I) = W*DH21 + Z*DH22  
    60 CONTINUE  
       GO TO 140  
    70 CONTINUE  
       KX = 1  
       KY = 1  
       IF (INCX.LT.0) KX = 1 + (1-N)*INCX  
       IF (INCY.LT.0) KY = 1 + (1-N)*INCY  
 *  *
       IF (DFLAG.LT.ZERO) THEN           IF (DFLAG.LT.ZERO) THEN
          GO TO 120              DH11 = DPARAM(2)
       ELSE IF (DFLAG.EQ.ZERO) THEN              DH12 = DPARAM(4)
          GO TO 80               DH21 = DPARAM(3)
       ELSE              DH22 = DPARAM(5)
          GO TO 100              DO I = 1,N
                  W = DX(KX)
                  Z = DY(KY)
                  DX(KX) = W*DH11 + Z*DH12
                  DY(KY) = W*DH21 + Z*DH22
                  KX = KX + INCX
                  KY = KY + INCY
               END DO
            ELSE IF (DFLAG.EQ.ZERO) THEN
               DH12 = DPARAM(4)
               DH21 = DPARAM(3)
               DO I = 1,N
                  W = DX(KX)
                  Z = DY(KY)
                  DX(KX) = W + Z*DH12
                  DY(KY) = W*DH21 + Z
                  KX = KX + INCX
                  KY = KY + INCY
               END DO
            ELSE
                DH11 = DPARAM(2)
                DH22 = DPARAM(5)
                DO I = 1,N
                   W = DX(KX)
                   Z = DY(KY)
                   DX(KX) = W*DH11 + Z
                   DY(KY) = -W + DH22*Z
                   KX = KX + INCX
                   KY = KY + INCY
               END DO
            END IF
       END IF        END IF
    80 CONTINUE  
       DH12 = DPARAM(4)  
       DH21 = DPARAM(3)  
       DO 90 I = 1,N  
           W = DX(KX)  
           Z = DY(KY)  
           DX(KX) = W + Z*DH12  
           DY(KY) = W*DH21 + Z  
           KX = KX + INCX  
           KY = KY + INCY  
    90 CONTINUE  
       GO TO 140  
   100 CONTINUE  
       DH11 = DPARAM(2)  
       DH22 = DPARAM(5)  
       DO 110 I = 1,N  
           W = DX(KX)  
           Z = DY(KY)  
           DX(KX) = W*DH11 + Z  
           DY(KY) = -W + DH22*Z  
           KX = KX + INCX  
           KY = KY + INCY  
   110 CONTINUE  
       GO TO 140  
   120 CONTINUE  
       DH11 = DPARAM(2)  
       DH12 = DPARAM(4)  
       DH21 = DPARAM(3)  
       DH22 = DPARAM(5)  
       DO 130 I = 1,N  
           W = DX(KX)  
           Z = DY(KY)  
           DX(KX) = W*DH11 + Z*DH12  
           DY(KY) = W*DH21 + Z*DH22  
           KX = KX + INCX  
           KY = KY + INCY  
   130 CONTINUE  
   140 CONTINUE  
       RETURN        RETURN
       END        END

Removed from v.1.7  
changed lines
  Added in v.1.8


CVSweb interface <joel.bertrand@systella.fr>