summaryrefslogtreecommitdiff
path: root/BLAS/SRC/zdotu.f
diff options
context:
space:
mode:
authorjason <jason@8a072113-8704-0410-8d35-dd094bca7971>2008-10-28 01:38:50 +0000
committerjason <jason@8a072113-8704-0410-8d35-dd094bca7971>2008-10-28 01:38:50 +0000
commitbaba851215b44ac3b60b9248eb02bcce7eb76247 (patch)
tree8c0f5c006875532a30d4409f5e94b0f310ff00a7 /BLAS/SRC/zdotu.f
downloadlapack-baba851215b44ac3b60b9248eb02bcce7eb76247.tar.gz
lapack-baba851215b44ac3b60b9248eb02bcce7eb76247.tar.bz2
lapack-baba851215b44ac3b60b9248eb02bcce7eb76247.zip
Move LAPACK trunk into position.
Diffstat (limited to 'BLAS/SRC/zdotu.f')
-rw-r--r--BLAS/SRC/zdotu.f51
1 files changed, 51 insertions, 0 deletions
diff --git a/BLAS/SRC/zdotu.f b/BLAS/SRC/zdotu.f
new file mode 100644
index 00000000..11af134c
--- /dev/null
+++ b/BLAS/SRC/zdotu.f
@@ -0,0 +1,51 @@
+ DOUBLE COMPLEX FUNCTION ZDOTU(N,ZX,INCX,ZY,INCY)
+* .. Scalar Arguments ..
+ INTEGER INCX,INCY,N
+* ..
+* .. Array Arguments ..
+ DOUBLE COMPLEX ZX(*),ZY(*)
+* ..
+*
+* Purpose
+* =======
+*
+* ZDOTU forms the dot product of two vectors.
+*
+* Further Details
+* ===============
+*
+* jack dongarra, 3/11/78.
+* modified 12/3/93, array(1) declarations changed to array(*)
+*
+* .. Local Scalars ..
+ DOUBLE COMPLEX ZTEMP
+ INTEGER I,IX,IY
+* ..
+ ZTEMP = (0.0d0,0.0d0)
+ ZDOTU = (0.0d0,0.0d0)
+ IF (N.LE.0) RETURN
+ IF (INCX.EQ.1 .AND. INCY.EQ.1) GO TO 20
+*
+* code for unequal increments or equal increments
+* not equal to 1
+*
+ IX = 1
+ IY = 1
+ IF (INCX.LT.0) IX = (-N+1)*INCX + 1
+ IF (INCY.LT.0) IY = (-N+1)*INCY + 1
+ DO 10 I = 1,N
+ ZTEMP = ZTEMP + ZX(IX)*ZY(IY)
+ IX = IX + INCX
+ IY = IY + INCY
+ 10 CONTINUE
+ ZDOTU = ZTEMP
+ RETURN
+*
+* code for both increments equal to 1
+*
+ 20 DO 30 I = 1,N
+ ZTEMP = ZTEMP + ZX(I)*ZY(I)
+ 30 CONTINUE
+ ZDOTU = ZTEMP
+ RETURN
+ END