File:  [local] / rpl / lapack / blas / zdotc.f
Revision 1.14: download - view: text, annotated - select for diffs - revision graph
Sat Jun 17 10:53:45 2017 UTC (6 years, 10 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_1_27, rpl-4_1_26, HEAD
Mise à jour de lapack.

    1: *> \brief \b ZDOTC
    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 ZDOTC(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: *> ZDOTC forms the dot product of two complex vectors
   27: *>      ZDOTC = X^H * 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 December 2016
   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 ZDOTC(N,ZX,INCX,ZY,INCY)
   54: *
   55: *  -- Reference BLAS level1 routine (version 3.7.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: *     December 2016
   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: *     .. Intrinsic Functions ..
   74:       INTRINSIC DCONJG
   75: *     ..
   76:       ZTEMP = (0.0d0,0.0d0)
   77:       ZDOTC = (0.0d0,0.0d0)
   78:       IF (N.LE.0) RETURN
   79:       IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
   80: *
   81: *        code for both increments equal to 1
   82: *
   83:          DO I = 1,N
   84:             ZTEMP = ZTEMP + DCONJG(ZX(I))*ZY(I)
   85:          END DO
   86:       ELSE
   87: *
   88: *        code for unequal increments or equal increments
   89: *          not equal to 1
   90: *
   91:          IX = 1
   92:          IY = 1
   93:          IF (INCX.LT.0) IX = (-N+1)*INCX + 1
   94:          IF (INCY.LT.0) IY = (-N+1)*INCY + 1
   95:          DO I = 1,N
   96:             ZTEMP = ZTEMP + DCONJG(ZX(IX))*ZY(IY)
   97:             IX = IX + INCX
   98:             IY = IY + INCY
   99:          END DO
  100:       END IF
  101:       ZDOTC = ZTEMP
  102:       RETURN
  103:       END

CVSweb interface <joel.bertrand@systella.fr>