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

version 1.1.1.1, 2010/01/26 15:22:45 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) 50,10,30           IF (DFLAG.LT.ZERO) THEN
    10 CONTINUE              DH11 = DPARAM(2)
       DH12 = DPARAM(4)              DH12 = DPARAM(4)
       DH21 = DPARAM(3)              DH21 = DPARAM(3)
       DO 20 I = 1,NSTEPS,INCX              DH22 = DPARAM(5)
           W = DX(I)              DO I = 1,NSTEPS,INCX
           Z = DY(I)                 W = DX(I)
           DX(I) = W + Z*DH12                 Z = DY(I)
           DY(I) = W*DH21 + Z                 DX(I) = W*DH11 + Z*DH12
    20 CONTINUE                 DY(I) = W*DH21 + Z*DH22
       GO TO 140              END DO
    30 CONTINUE           ELSE IF (DFLAG.EQ.ZERO) THEN
       DH11 = DPARAM(2)              DH12 = DPARAM(4)
       DH22 = DPARAM(5)              DH21 = DPARAM(3)
       DO 40 I = 1,NSTEPS,INCX              DO I = 1,NSTEPS,INCX
           W = DX(I)                 W = DX(I)
           Z = DY(I)                 Z = DY(I)
           DX(I) = W*DH11 + Z                 DX(I) = W + Z*DH12
           DY(I) = -W + DH22*Z                 DY(I) = W*DH21 + Z
    40 CONTINUE              END DO
       GO TO 140           ELSE
    50 CONTINUE              DH11 = DPARAM(2)
       DH11 = DPARAM(2)              DH22 = DPARAM(5)
       DH12 = DPARAM(4)              DO I = 1,NSTEPS,INCX
       DH21 = DPARAM(3)                 W = DX(I)
       DH22 = DPARAM(5)                 Z = DY(I)
       DO 60 I = 1,NSTEPS,INCX                 DX(I) = W*DH11 + Z
           W = DX(I)                 DY(I) = -W + DH22*Z
           Z = DY(I)              END DO
           DX(I) = W*DH11 + Z*DH12           END IF
           DY(I) = W*DH21 + Z*DH22        ELSE
    60 CONTINUE           KX = 1
       GO TO 140           KY = 1
    70 CONTINUE           IF (INCX.LT.0) KX = 1 + (1-N)*INCX
       KX = 1           IF (INCY.LT.0) KY = 1 + (1-N)*INCY
       KY = 1  
       IF (INCX.LT.0) KX = 1 + (1-N)*INCX  
       IF (INCY.LT.0) KY = 1 + (1-N)*INCY  
 *  *
       IF (DFLAG) 120,80,100           IF (DFLAG.LT.ZERO) THEN
    80 CONTINUE              DH11 = DPARAM(2)
       DH12 = DPARAM(4)              DH12 = DPARAM(4)
       DH21 = DPARAM(3)              DH21 = DPARAM(3)
       DO 90 I = 1,N              DH22 = DPARAM(5)
           W = DX(KX)              DO I = 1,N
           Z = DY(KY)                 W = DX(KX)
           DX(KX) = W + Z*DH12                 Z = DY(KY)
           DY(KY) = W*DH21 + Z                 DX(KX) = W*DH11 + Z*DH12
           KX = KX + INCX                 DY(KY) = W*DH21 + Z*DH22
           KY = KY + INCY                 KX = KX + INCX
    90 CONTINUE                 KY = KY + INCY
       GO TO 140              END DO
   100 CONTINUE           ELSE IF (DFLAG.EQ.ZERO) THEN
       DH11 = DPARAM(2)              DH12 = DPARAM(4)
       DH22 = DPARAM(5)              DH21 = DPARAM(3)
       DO 110 I = 1,N              DO I = 1,N
           W = DX(KX)                 W = DX(KX)
           Z = DY(KY)                 Z = DY(KY)
           DX(KX) = W*DH11 + Z                 DX(KX) = W + Z*DH12
           DY(KY) = -W + DH22*Z                 DY(KY) = W*DH21 + Z
           KX = KX + INCX                 KX = KX + INCX
           KY = KY + INCY                 KY = KY + INCY
   110 CONTINUE              END DO
       GO TO 140           ELSE
   120 CONTINUE               DH11 = DPARAM(2)
       DH11 = DPARAM(2)               DH22 = DPARAM(5)
       DH12 = DPARAM(4)               DO I = 1,N
       DH21 = DPARAM(3)                  W = DX(KX)
       DH22 = DPARAM(5)                  Z = DY(KY)
       DO 130 I = 1,N                  DX(KX) = W*DH11 + Z
           W = DX(KX)                  DY(KY) = -W + DH22*Z
           Z = DY(KY)                  KX = KX + INCX
           DX(KX) = W*DH11 + Z*DH12                  KY = KY + INCY
           DY(KY) = W*DH21 + Z*DH22              END DO
           KX = KX + INCX           END IF
           KY = KY + INCY        END IF
   130 CONTINUE  
   140 CONTINUE  
       RETURN        RETURN
       END        END

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


CVSweb interface <joel.bertrand@systella.fr>