Diff for /rpl/lapack/blas/dgbmv.f between versions 1.8 and 1.15

version 1.8, 2011/11/21 20:37:07 version 1.15, 2018/05/29 06:55:12
Line 2 Line 2
 *  *
 *  =========== DOCUMENTATION ===========  *  =========== DOCUMENTATION ===========
 *  *
 * Online html documentation available at   * Online html documentation available at
 *            http://www.netlib.org/lapack/explore-html/   *            http://www.netlib.org/lapack/explore-html/
 *  *
 *  Definition:  *  Definition:
 *  ===========  *  ===========
 *  *
 *       SUBROUTINE DGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)  *       SUBROUTINE DGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       DOUBLE PRECISION ALPHA,BETA  *       DOUBLE PRECISION ALPHA,BETA
 *       INTEGER INCX,INCY,KL,KU,LDA,M,N  *       INTEGER INCX,INCY,KL,KU,LDA,M,N
Line 18 Line 18
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       DOUBLE PRECISION A(LDA,*),X(*),Y(*)  *       DOUBLE PRECISION A(LDA,*),X(*),Y(*)
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 85 Line 85
 *>  *>
 *> \param[in] A  *> \param[in] A
 *> \verbatim  *> \verbatim
 *>          A is DOUBLE PRECISION array of DIMENSION ( LDA, n ).  *>          A is DOUBLE PRECISION array, dimension ( LDA, N )
 *>           Before entry, the leading ( kl + ku + 1 ) by n part of the  *>           Before entry, the leading ( kl + ku + 1 ) by n part of the
 *>           array A must contain the matrix of coefficients, supplied  *>           array A must contain the matrix of coefficients, supplied
 *>           column by column, with the leading diagonal of the matrix in  *>           column by column, with the leading diagonal of the matrix in
Line 116 Line 116
 *>  *>
 *> \param[in] X  *> \param[in] X
 *> \verbatim  *> \verbatim
 *>          X is DOUBLE PRECISION array of DIMENSION at least  *>          X is DOUBLE PRECISION array, dimension at least
 *>           ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n'  *>           ( 1 + ( n - 1 )*abs( INCX ) ) when TRANS = 'N' or 'n'
 *>           and at least  *>           and at least
 *>           ( 1 + ( m - 1 )*abs( INCX ) ) otherwise.  *>           ( 1 + ( m - 1 )*abs( INCX ) ) otherwise.
Line 140 Line 140
 *>  *>
 *> \param[in,out] Y  *> \param[in,out] Y
 *> \verbatim  *> \verbatim
 *>          Y is DOUBLE PRECISION array of DIMENSION at least  *>          Y is DOUBLE PRECISION array, dimension at least
 *>           ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n'  *>           ( 1 + ( m - 1 )*abs( INCY ) ) when TRANS = 'N' or 'n'
 *>           and at least  *>           and at least
 *>           ( 1 + ( n - 1 )*abs( INCY ) ) otherwise.  *>           ( 1 + ( n - 1 )*abs( INCY ) ) otherwise.
Line 158 Line 158
 *  Authors:  *  Authors:
 *  ========  *  ========
 *  *
 *> \author Univ. of Tennessee   *> \author Univ. of Tennessee
 *> \author Univ. of California Berkeley   *> \author Univ. of California Berkeley
 *> \author Univ. of Colorado Denver   *> \author Univ. of Colorado Denver
 *> \author NAG Ltd.   *> \author NAG Ltd.
 *  *
 *> \date November 2011  *> \date December 2016
 *  *
 *> \ingroup double_blas_level2  *> \ingroup double_blas_level2
 *  *
Line 185 Line 185
 *  =====================================================================  *  =====================================================================
       SUBROUTINE DGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)        SUBROUTINE DGBMV(TRANS,M,N,KL,KU,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
 *  *
 *  -- Reference BLAS level2 routine (version 3.4.0) --  *  -- Reference BLAS level2 routine (version 3.7.0) --
 *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --  *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--  *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
 *     November 2011  *     December 2016
 *  *
 *     .. Scalar Arguments ..  *     .. Scalar Arguments ..
       DOUBLE PRECISION ALPHA,BETA        DOUBLE PRECISION ALPHA,BETA
Line 312 Line 312
           JX = KX            JX = KX
           IF (INCY.EQ.1) THEN            IF (INCY.EQ.1) THEN
               DO 60 J = 1,N                DO 60 J = 1,N
                   IF (X(JX).NE.ZERO) THEN                    TEMP = ALPHA*X(JX)
                       TEMP = ALPHA*X(JX)                    K = KUP1 - J
                       K = KUP1 - J                    DO 50 I = MAX(1,J-KU),MIN(M,J+KL)
                       DO 50 I = MAX(1,J-KU),MIN(M,J+KL)                        Y(I) = Y(I) + TEMP*A(K+I,J)
                           Y(I) = Y(I) + TEMP*A(K+I,J)     50             CONTINUE
    50                 CONTINUE  
                   END IF  
                   JX = JX + INCX                    JX = JX + INCX
    60         CONTINUE     60         CONTINUE
           ELSE            ELSE
               DO 80 J = 1,N                DO 80 J = 1,N
                   IF (X(JX).NE.ZERO) THEN                    TEMP = ALPHA*X(JX)
                       TEMP = ALPHA*X(JX)                    IY = KY
                       IY = KY                    K = KUP1 - J
                       K = KUP1 - J                    DO 70 I = MAX(1,J-KU),MIN(M,J+KL)
                       DO 70 I = MAX(1,J-KU),MIN(M,J+KL)                        Y(IY) = Y(IY) + TEMP*A(K+I,J)
                           Y(IY) = Y(IY) + TEMP*A(K+I,J)                        IY = IY + INCY
                           IY = IY + INCY     70             CONTINUE
    70                 CONTINUE  
                   END IF  
                   JX = JX + INCX                    JX = JX + INCX
                   IF (J.GT.KU) KY = KY + INCY                    IF (J.GT.KU) KY = KY + INCY
    80         CONTINUE     80         CONTINUE

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


CVSweb interface <joel.bertrand@systella.fr>