Annotation of rpl/lapack/blas/zswap.f, revision 1.15
1.8 bertrand 1: *> \brief \b ZSWAP
2: *
3: * =========== DOCUMENTATION ===========
4: *
1.13 bertrand 5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
1.8 bertrand 7: *
8: * Definition:
9: * ===========
10: *
11: * SUBROUTINE ZSWAP(N,ZX,INCX,ZY,INCY)
1.13 bertrand 12: *
1.8 bertrand 13: * .. Scalar Arguments ..
14: * INTEGER INCX,INCY,N
15: * ..
16: * .. Array Arguments ..
17: * COMPLEX*16 ZX(*),ZY(*)
18: * ..
1.13 bertrand 19: *
1.8 bertrand 20: *
21: *> \par Purpose:
22: * =============
23: *>
24: *> \verbatim
25: *>
26: *> ZSWAP interchanges two vectors.
27: *> \endverbatim
28: *
1.14 bertrand 29: * Arguments:
30: * ==========
31: *
32: *> \param[in] N
33: *> \verbatim
34: *> N is INTEGER
35: *> number of elements in input vector(s)
36: *> \endverbatim
37: *>
38: *> \param[in,out] ZX
39: *> \verbatim
40: *> ZX is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCX ) )
41: *> \endverbatim
42: *>
43: *> \param[in] INCX
44: *> \verbatim
45: *> INCX is INTEGER
46: *> storage spacing between elements of ZX
47: *> \endverbatim
48: *>
49: *> \param[in,out] ZY
50: *> \verbatim
51: *> ZY is COMPLEX*16 array, dimension ( 1 + ( N - 1 )*abs( INCY ) )
52: *> \endverbatim
53: *>
54: *> \param[in] INCY
55: *> \verbatim
56: *> INCY is INTEGER
57: *> storage spacing between elements of ZY
58: *> \endverbatim
59: *
1.8 bertrand 60: * Authors:
61: * ========
62: *
1.13 bertrand 63: *> \author Univ. of Tennessee
64: *> \author Univ. of California Berkeley
65: *> \author Univ. of Colorado Denver
66: *> \author NAG Ltd.
1.8 bertrand 67: *
1.14 bertrand 68: *> \date November 2017
1.8 bertrand 69: *
70: *> \ingroup complex16_blas_level1
71: *
72: *> \par Further Details:
73: * =====================
74: *>
75: *> \verbatim
76: *>
77: *> jack dongarra, 3/11/78.
78: *> modified 12/3/93, array(1) declarations changed to array(*)
79: *> \endverbatim
80: *>
81: * =====================================================================
1.1 bertrand 82: SUBROUTINE ZSWAP(N,ZX,INCX,ZY,INCY)
1.8 bertrand 83: *
1.14 bertrand 84: * -- Reference BLAS level1 routine (version 3.8.0) --
1.8 bertrand 85: * -- Reference BLAS is a software package provided by Univ. of Tennessee, --
86: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
1.14 bertrand 87: * November 2017
1.8 bertrand 88: *
1.1 bertrand 89: * .. Scalar Arguments ..
90: INTEGER INCX,INCY,N
91: * ..
92: * .. Array Arguments ..
1.8 bertrand 93: COMPLEX*16 ZX(*),ZY(*)
1.1 bertrand 94: * ..
95: *
96: * =====================================================================
97: *
98: * .. Local Scalars ..
1.8 bertrand 99: COMPLEX*16 ZTEMP
1.1 bertrand 100: INTEGER I,IX,IY
101: * ..
102: IF (N.LE.0) RETURN
1.7 bertrand 103: IF (INCX.EQ.1 .AND. INCY.EQ.1) THEN
104: *
105: * code for both increments equal to 1
106: DO I = 1,N
107: ZTEMP = ZX(I)
108: ZX(I) = ZY(I)
109: ZY(I) = ZTEMP
110: END DO
111: ELSE
1.1 bertrand 112: *
113: * code for unequal increments or equal increments not equal
114: * to 1
115: *
1.7 bertrand 116: IX = 1
117: IY = 1
118: IF (INCX.LT.0) IX = (-N+1)*INCX + 1
119: IF (INCY.LT.0) IY = (-N+1)*INCY + 1
120: DO I = 1,N
121: ZTEMP = ZX(IX)
122: ZX(IX) = ZY(IY)
123: ZY(IY) = ZTEMP
124: IX = IX + INCX
125: IY = IY + INCY
126: END DO
127: END IF
1.1 bertrand 128: RETURN
129: END
CVSweb interface <joel.bertrand@systella.fr>