Diff for /rpl/lapack/blas/dasum.f between versions 1.6 and 1.7

version 1.6, 2010/12/21 13:51:24 version 1.7, 2011/07/22 07:38:01
Line 30 Line 30
       DASUM = 0.0d0        DASUM = 0.0d0
       DTEMP = 0.0d0        DTEMP = 0.0d0
       IF (N.LE.0 .OR. INCX.LE.0) RETURN        IF (N.LE.0 .OR. INCX.LE.0) RETURN
       IF (INCX.EQ.1) GO TO 20        IF (INCX.EQ.1) THEN
 *  
 *        code for increment not equal to 1  
 *  
       NINCX = N*INCX  
       DO 10 I = 1,NINCX,INCX  
           DTEMP = DTEMP + DABS(DX(I))  
    10 CONTINUE  
       DASUM = DTEMP  
       RETURN  
 *  
 *        code for increment equal to 1  *        code for increment equal to 1
 *  *
 *  *
 *        clean-up loop  *        clean-up loop
 *  *
    20 M = MOD(N,6)           M = MOD(N,6)
       IF (M.EQ.0) GO TO 40           IF (M.NE.0) THEN
       DO 30 I = 1,M              DO I = 1,M
           DTEMP = DTEMP + DABS(DX(I))                 DTEMP = DTEMP + DABS(DX(I))
    30 CONTINUE              END DO
       IF (N.LT.6) GO TO 60              IF (N.LT.6) THEN
    40 MP1 = M + 1                 DASUM = DTEMP
       DO 50 I = MP1,N,6                 RETURN
           DTEMP = DTEMP + DABS(DX(I)) + DABS(DX(I+1)) + DABS(DX(I+2)) +              END IF
      +            DABS(DX(I+3)) + DABS(DX(I+4)) + DABS(DX(I+5))           END IF
    50 CONTINUE           MP1 = M + 1
    60 DASUM = DTEMP           DO I = MP1,N,6
               DTEMP = DTEMP + DABS(DX(I)) + DABS(DX(I+1)) +
        $              DABS(DX(I+2)) + DABS(DX(I+3)) +
        $              DABS(DX(I+4)) + DABS(DX(I+5))
            END DO
         ELSE
   *
   *        code for increment not equal to 1
   *
            NINCX = N*INCX
            DO I = 1,NINCX,INCX
               DTEMP = DTEMP + DABS(DX(I))
            END DO
         END IF
         DASUM = DTEMP
       RETURN        RETURN
       END        END

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


CVSweb interface <joel.bertrand@systella.fr>