1
*> \brief \b DLACPY copies all or part of one two-dimensional array to another.
3
* =========== DOCUMENTATION ===========
5
* Online html documentation available at
6
* http://www.netlib.org/lapack/explore-html/
9
*> Download DLACPY + dependencies
10
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlacpy.f">
12
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlacpy.f">
14
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlacpy.f">
21
* SUBROUTINE DLACPY( UPLO, M, N, A, LDA, B, LDB )
23
* .. Scalar Arguments ..
25
* INTEGER LDA, LDB, M, N
27
* .. Array Arguments ..
28
* DOUBLE PRECISION A( LDA, * ), B( LDB, * )
37
*> DLACPY copies all or part of a two-dimensional matrix A to another
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
56
*> The number of rows of the matrix A. M >= 0.
62
*> The number of columns of the matrix A. N >= 0.
67
*> A is DOUBLE PRECISION array, dimension (LDA,N)
68
*> The m by n matrix A. If UPLO = 'U', only the upper triangle
69
*> or trapezoid is accessed; if UPLO = 'L', only the lower
70
*> triangle or trapezoid is accessed.
76
*> The leading dimension of the array A. LDA >= max(1,M).
81
*> B is DOUBLE PRECISION array, dimension (LDB,N)
82
*> On exit, B = A in the locations specified by UPLO.
88
*> The leading dimension of the array B. LDB >= max(1,M).
94
*> \author Univ. of Tennessee
95
*> \author Univ. of California Berkeley
96
*> \author Univ. of Colorado Denver
99
*> \date September 2012
101
*> \ingroup auxOTHERauxiliary
103
* =====================================================================
104
SUBROUTINE DLACPY( UPLO, M, N, A, LDA, B, LDB )
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..--
111
* .. Scalar Arguments ..
113
INTEGER LDA, LDB, M, N
115
* .. Array Arguments ..
116
DOUBLE PRECISION A( LDA, * ), B( LDB, * )
119
* =====================================================================
121
* .. Local Scalars ..
124
* .. External Functions ..
128
* .. Intrinsic Functions ..
131
* .. Executable Statements ..
133
IF( LSAME( UPLO, 'U' ) ) THEN
135
DO 10 I = 1, MIN( J, M )
136
B( I, J ) = A( I, J )
139
ELSE IF( LSAME( UPLO, 'L' ) ) THEN
142
B( I, J ) = A( I, J )
148
B( I, J ) = A( I, J )