Diff for /rpl/lapack/blas/zgemv.f between versions 1.9 and 1.15

version 1.9, 2012/08/22 09:36:41 version 1.15, 2018/05/29 06:55:15
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 ZGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)  *       SUBROUTINE ZGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)
 *   *
 *       .. Scalar Arguments ..  *       .. Scalar Arguments ..
 *       COMPLEX*16 ALPHA,BETA  *       COMPLEX*16 ALPHA,BETA
 *       INTEGER INCX,INCY,LDA,M,N  *       INTEGER INCX,INCY,LDA,M,N
Line 18 Line 18
 *       .. Array Arguments ..  *       .. Array Arguments ..
 *       COMPLEX*16 A(LDA,*),X(*),Y(*)  *       COMPLEX*16 A(LDA,*),X(*),Y(*)
 *       ..  *       ..
 *    *
 *  *
 *> \par Purpose:  *> \par Purpose:
 *  =============  *  =============
Line 73 Line 73
 *>  *>
 *> \param[in] A  *> \param[in] A
 *> \verbatim  *> \verbatim
 *>          A is COMPLEX*16 array of DIMENSION ( LDA, n ).  *>          A is COMPLEX*16 array, dimension ( LDA, N )
 *>           Before entry, the leading m by n part of the array A must  *>           Before entry, the leading m by n part of the array A must
 *>           contain the matrix of coefficients.  *>           contain the matrix of coefficients.
 *> \endverbatim  *> \endverbatim
Line 88 Line 88
 *>  *>
 *> \param[in] X  *> \param[in] X
 *> \verbatim  *> \verbatim
 *>          X is COMPLEX*16 array of DIMENSION at least  *>          X is COMPLEX*16 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 112 Line 112
 *>  *>
 *> \param[in,out] Y  *> \param[in,out] Y
 *> \verbatim  *> \verbatim
 *>          Y is COMPLEX*16 array of DIMENSION at least  *>          Y is COMPLEX*16 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 131 Line 131
 *  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 complex16_blas_level2  *> \ingroup complex16_blas_level2
 *  *
Line 158 Line 158
 *  =====================================================================  *  =====================================================================
       SUBROUTINE ZGEMV(TRANS,M,N,ALPHA,A,LDA,X,INCX,BETA,Y,INCY)        SUBROUTINE ZGEMV(TRANS,M,N,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 ..
       COMPLEX*16 ALPHA,BETA        COMPLEX*16 ALPHA,BETA
Line 285 Line 285
           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)                    DO 50 I = 1,M
                       DO 50 I = 1,M                        Y(I) = Y(I) + TEMP*A(I,J)
                           Y(I) = Y(I) + TEMP*A(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                    DO 70 I = 1,M
                       DO 70 I = 1,M                        Y(IY) = Y(IY) + TEMP*A(I,J)
                           Y(IY) = Y(IY) + TEMP*A(I,J)                        IY = IY + INCY
                           IY = IY + INCY     70             CONTINUE
    70                 CONTINUE  
                   END IF  
                   JX = JX + INCX                    JX = JX + INCX
    80         CONTINUE     80         CONTINUE
           END IF            END IF

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


CVSweb interface <joel.bertrand@systella.fr>