1: *> \brief \b ZLACPY copies all or part of one two-dimensional array to another.
2: *
3: * =========== DOCUMENTATION ===========
4: *
5: * Online html documentation available at
6: * http://www.netlib.org/lapack/explore-html/
7: *
8: *> \htmlonly
9: *> Download ZLACPY + dependencies
10: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlacpy.f">
11: *> [TGZ]</a>
12: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlacpy.f">
13: *> [ZIP]</a>
14: *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlacpy.f">
15: *> [TXT]</a>
16: *> \endhtmlonly
17: *
18: * Definition:
19: * ===========
20: *
21: * SUBROUTINE ZLACPY( UPLO, M, N, A, LDA, B, LDB )
22: *
23: * .. Scalar Arguments ..
24: * CHARACTER UPLO
25: * INTEGER LDA, LDB, M, N
26: * ..
27: * .. Array Arguments ..
28: * COMPLEX*16 A( LDA, * ), B( LDB, * )
29: * ..
30: *
31: *
32: *> \par Purpose:
33: * =============
34: *>
35: *> \verbatim
36: *>
37: *> ZLACPY copies all or part of a two-dimensional matrix A to another
38: *> matrix B.
39: *> \endverbatim
40: *
41: * Arguments:
42: * ==========
43: *
44: *> \param[in] UPLO
45: *> \verbatim
46: *> UPLO is CHARACTER*1
47: *> Specifies the part of the matrix A to be copied to B.
48: *> = 'U': Upper triangular part
49: *> = 'L': Lower triangular part
50: *> Otherwise: All of the matrix A
51: *> \endverbatim
52: *>
53: *> \param[in] M
54: *> \verbatim
55: *> M is INTEGER
56: *> The number of rows of the matrix A. M >= 0.
57: *> \endverbatim
58: *>
59: *> \param[in] N
60: *> \verbatim
61: *> N is INTEGER
62: *> The number of columns of the matrix A. N >= 0.
63: *> \endverbatim
64: *>
65: *> \param[in] A
66: *> \verbatim
67: *> A is COMPLEX*16 array, dimension (LDA,N)
68: *> The m by n matrix A. If UPLO = 'U', only the upper trapezium
69: *> is accessed; if UPLO = 'L', only the lower trapezium is
70: *> accessed.
71: *> \endverbatim
72: *>
73: *> \param[in] LDA
74: *> \verbatim
75: *> LDA is INTEGER
76: *> The leading dimension of the array A. LDA >= max(1,M).
77: *> \endverbatim
78: *>
79: *> \param[out] B
80: *> \verbatim
81: *> B is COMPLEX*16 array, dimension (LDB,N)
82: *> On exit, B = A in the locations specified by UPLO.
83: *> \endverbatim
84: *>
85: *> \param[in] LDB
86: *> \verbatim
87: *> LDB is INTEGER
88: *> The leading dimension of the array B. LDB >= max(1,M).
89: *> \endverbatim
90: *
91: * Authors:
92: * ========
93: *
94: *> \author Univ. of Tennessee
95: *> \author Univ. of California Berkeley
96: *> \author Univ. of Colorado Denver
97: *> \author NAG Ltd.
98: *
99: *> \date September 2012
100: *
101: *> \ingroup complex16OTHERauxiliary
102: *
103: * =====================================================================
104: SUBROUTINE ZLACPY( UPLO, M, N, A, LDA, B, LDB )
105: *
106: * -- LAPACK auxiliary routine (version 3.4.2) --
107: * -- LAPACK is a software package provided by Univ. of Tennessee, --
108: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
109: * September 2012
110: *
111: * .. Scalar Arguments ..
112: CHARACTER UPLO
113: INTEGER LDA, LDB, M, N
114: * ..
115: * .. Array Arguments ..
116: COMPLEX*16 A( LDA, * ), B( LDB, * )
117: * ..
118: *
119: * =====================================================================
120: *
121: * .. Local Scalars ..
122: INTEGER I, J
123: * ..
124: * .. External Functions ..
125: LOGICAL LSAME
126: EXTERNAL LSAME
127: * ..
128: * .. Intrinsic Functions ..
129: INTRINSIC MIN
130: * ..
131: * .. Executable Statements ..
132: *
133: IF( LSAME( UPLO, 'U' ) ) THEN
134: DO 20 J = 1, N
135: DO 10 I = 1, MIN( J, M )
136: B( I, J ) = A( I, J )
137: 10 CONTINUE
138: 20 CONTINUE
139: *
140: ELSE IF( LSAME( UPLO, 'L' ) ) THEN
141: DO 40 J = 1, N
142: DO 30 I = J, M
143: B( I, J ) = A( I, J )
144: 30 CONTINUE
145: 40 CONTINUE
146: *
147: ELSE
148: DO 60 J = 1, N
149: DO 50 I = 1, M
150: B( I, J ) = A( I, J )
151: 50 CONTINUE
152: 60 CONTINUE
153: END IF
154: *
155: RETURN
156: *
157: * End of ZLACPY
158: *
159: END
CVSweb interface <joel.bertrand@systella.fr>