SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches
ilacpy.f
Go to the documentation of this file.
1 SUBROUTINE ilacpy( UPLO, M, N, A, LDA, B, LDB )
2*
3* -- ScaLAPACK tools routine (version 1.7) --
4* University of Tennessee, Knoxville, Oak Ridge National Laboratory,
5* and University of California, Berkeley.
6* May 1, 1997
7*
8* .. Scalar Arguments ..
9 CHARACTER UPLO
10 INTEGER LDA, LDB, M, N
11* ..
12* .. Array Arguments ..
13 INTEGER A( LDA, * ), B( LDB, * )
14* ..
15*
16* Purpose
17* =======
18*
19* ILACPY copies all or part of a local array A to another array B.
20*
21* Arguments
22* =========
23*
24* UPLO (local input) CHARACTER*1
25* Specifies the part of the array A to be copied to B.
26* = 'U': Upper triangular part
27* = 'L': Lower triangular part
28* Otherwise: All of the array A
29*
30* M (local input) INTEGER
31* The number of rows of the array A. M >= 0.
32*
33* N (local input) INTEGER
34* The number of columns of the array A. N >= 0.
35*
36* A (local input) INTEGER
37* Array, dimension (LDA,N), the m by n array A.
38* If UPLO = 'U', only the upper triangle or trapezoid is
39* accessed; if UPLO = 'L', only the lower triangle or trapezoid
40* is accessed.
41*
42* LDA (local input) INTEGER
43* The leading dimension of the array A. LDA >= max(1,M).
44*
45* B (local output) INTEGER
46* Array, dimension (LDB,N), on exit, B = A in the locations
47* specified by UPLO.
48*
49* LDB (local input) INTEGER
50* The leading dimension of the array B. LDB >= max(1,M).
51*
52* =====================================================================
53*
54* .. Local Scalars ..
55 INTEGER I, J
56* ..
57* .. External Functions ..
58 LOGICAL LSAME
59 EXTERNAL lsame
60* ..
61* .. Intrinsic Functions ..
62 INTRINSIC min
63* ..
64* .. Executable Statements ..
65*
66 IF( lsame( uplo, 'U' ) ) THEN
67 DO 20 j = 1, n
68 DO 10 i = 1, min( j, m )
69 b( i, j ) = a( i, j )
70 10 CONTINUE
71 20 CONTINUE
72 ELSE IF( lsame( uplo, 'L' ) ) THEN
73 DO 40 j = 1, n
74 DO 30 i = j, m
75 b( i, j ) = a( i, j )
76 30 CONTINUE
77 40 CONTINUE
78 ELSE
79 DO 60 j = 1, n
80 DO 50 i = 1, m
81 b( i, j ) = a( i, j )
82 50 CONTINUE
83 60 CONTINUE
84 END IF
85 RETURN
86*
87* End of ILACPY
88*
89 END
subroutine ilacpy(uplo, m, n, a, lda, b, ldb)
Definition ilacpy.f:2
#define min(A, B)
Definition pcgemr.c:181