File:  [local] / rpl / lapack / blas / zdotu.f
Revision 1.13: download - view: text, annotated - select for diffs - revision graph
Sat Aug 27 15:37:54 2016 UTC (7 years, 8 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_25, HEAD
Cohérence Blas.

    1: *> \brief \b ZDOTU
    2: *
    3: *  =========== DOCUMENTATION ===========
    4: *
    5: * Online html documentation available at 
    6: *            http://www.netlib.org/lapack/explore-html/ 
    7: *
    8: *  Definition:
    9: *  ===========
   10: *
   11: *       COMPLEX*16 FUNCTION ZDOTU(N,ZX,INCX,ZY,INCY)
   12:    13: *       .. Scalar Arguments ..
   14: *       INTEGER INCX,INCY,N
   15: *       ..
   16: *       .. Array Arguments ..
   17: *       COMPLEX*16 ZX(*),ZY(*)
   18: *       ..
   19: *  
   20: *
   21: *> \par Purpose:
   22: *  =============
   23: *>
   24: *> \verbatim
   25: *>
   26: *> ZDOTU forms the dot product of two complex vectors
   27: *>      ZDOTU = X^T * Y
   28: *>
   29: *> \endverbatim
   30: *
   31: *  Authors:
   32: *  ========
   33: *
   34: *> \author Univ. of Tennessee 
   35: *> \author Univ. of California Berkeley 
   36: *> \author Univ. of Colorado Denver 
   37: *> \author NAG Ltd. 
   38: *
   39: *> \date November 2015
   40: *
   41: *> \ingroup complex16_blas_level1
   42: *
   43: *> \par Further Details:
   44: *  =====================
   45: *>
   46: *> \verbatim
   47: *>
   48: *>     jack dongarra, 3/11/78.
   49: *>     modified 12/3/93, array(1) declarations changed to array(*)
   50: *> \endverbatim
   51: *>
   52: *  =====================================================================
   53:       COMPLEX*16 FUNCTION ZDOTU(N,ZX,INCX,ZY,INCY)
   54: *
   55: *  -- Reference BLAS level1 routine (version 3.6.0) --
   56: *  -- Reference BLAS is a software package provided by Univ. of Tennessee,    --
   57: *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
   58: *     November 2015
   59: *
   60: *     .. Scalar Arguments ..
   61:       INTEGER INCX,INCY,N
   62: *     ..
   63: *     .. Array Arguments ..
   64:       COMPLEX*16 ZX(*),ZY(*)
   65: *     ..
   66: *
   67: *  =====================================================================
   68: *
   69: *     .. Local Scalars ..
   70:       COMPLEX*16 ZTEMP
   71:       INTEGER I,IX,IY
   72: *     ..
   73:       ZTEMP = (0.0d0,0.0d0)
   74:       ZDOTU = (0.0d0,0.0d0)
   75:       IF (N.LE.0) RETURN
   76:       IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
   77: *
   78: *        code for both increments equal to 1
   79: *
   80:          DO I = 1,N
   81:             ZTEMP = ZTEMP + ZX(I)*ZY(I)
   82:          END DO
   83:       ELSE
   84: *
   85: *        code for unequal increments or equal increments
   86: *          not equal to 1
   87: *
   88:          IX = 1
   89:          IY = 1
   90:          IF (INCX.LT.0) IX = (-N+1)*INCX + 1
   91:          IF (INCY.LT.0) IY = (-N+1)*INCY + 1
   92:          DO I = 1,N
   93:             ZTEMP = ZTEMP + ZX(IX)*ZY(IY)
   94:             IX = IX + INCX
   95:             IY = IY + INCY
   96:          END DO
   97:       END IF
   98:       ZDOTU = ZTEMP
   99:       RETURN
  100:       END

CVSweb interface <joel.bertrand@systella.fr>