LAPACK 3.12.1
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ zlag2c()

subroutine zlag2c ( integer m,
integer n,
complex*16, dimension( lda, * ) a,
integer lda,
complex, dimension( ldsa, * ) sa,
integer ldsa,
integer info )

ZLAG2C converts a complex double precision matrix to a complex single precision matrix.

Download ZLAG2C + dependencies [TGZ] [ZIP] [TXT]

Purpose:
!>
!> ZLAG2C converts a COMPLEX*16 matrix, SA, to a COMPLEX matrix, A.
!>
!> RMAX is the overflow for the SINGLE PRECISION arithmetic
!> ZLAG2C checks that all the entries of A are between -RMAX and
!> RMAX. If not the conversion is aborted and a flag is raised.
!>
!> This is an auxiliary routine so there is no argument checking.
!> 
Parameters
[in]M
!>          M is INTEGER
!>          The number of lines of the matrix A.  M >= 0.
!> 
[in]N
!>          N is INTEGER
!>          The number of columns of the matrix A.  N >= 0.
!> 
[in]A
!>          A is COMPLEX*16 array, dimension (LDA,N)
!>          On entry, the M-by-N coefficient matrix A.
!> 
[in]LDA
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,M).
!> 
[out]SA
!>          SA is COMPLEX array, dimension (LDSA,N)
!>          On exit, if INFO=0, the M-by-N coefficient matrix SA; if
!>          INFO>0, the content of SA is unspecified.
!> 
[in]LDSA
!>          LDSA is INTEGER
!>          The leading dimension of the array SA.  LDSA >= max(1,M).
!> 
[out]INFO
!>          INFO is INTEGER
!>          = 0:  successful exit.
!>          = 1:  an entry of the matrix A is greater than the SINGLE
!>                PRECISION overflow threshold, in this case, the content
!>                of SA in exit is unspecified.
!> 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 104 of file zlag2c.f.

105*
106* -- LAPACK auxiliary routine --
107* -- LAPACK is a software package provided by Univ. of Tennessee, --
108* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
109*
110* .. Scalar Arguments ..
111 INTEGER INFO, LDA, LDSA, M, N
112* ..
113* .. Array Arguments ..
114 COMPLEX SA( LDSA, * )
115 COMPLEX*16 A( LDA, * )
116* ..
117*
118* =====================================================================
119*
120* .. Local Scalars ..
121 INTEGER I, J
122 DOUBLE PRECISION RMAX
123* ..
124* .. Intrinsic Functions ..
125 INTRINSIC dble, dimag, cmplx
126* ..
127* .. External Functions ..
128 REAL SLAMCH
129 EXTERNAL slamch
130* ..
131* .. Executable Statements ..
132*
133 rmax = slamch( 'O' )
134 DO 20 j = 1, n
135 DO 10 i = 1, m
136 IF( ( dble( a( i, j ) ).LT.-rmax ) .OR.
137 $ ( dble( a( i, j ) ).GT.rmax ) .OR.
138 $ ( dimag( a( i, j ) ).LT.-rmax ) .OR.
139 $ ( dimag( a( i, j ) ).GT.rmax ) ) THEN
140 info = 1
141 GO TO 30
142 END IF
143 sa( i, j ) = cmplx( a( i, j ) )
144 10 CONTINUE
145 20 CONTINUE
146 info = 0
147 30 CONTINUE
148 RETURN
149*
150* End of ZLAG2C
151*
real function slamch(cmach)
SLAMCH
Definition slamch.f:68
Here is the caller graph for this function: