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

◆ dlag2s()

subroutine dlag2s ( integer m,
integer n,
double precision, dimension( lda, * ) a,
integer lda,
real, dimension( ldsa, * ) sa,
integer ldsa,
integer info )

DLAG2S converts a double precision matrix to a single precision matrix.

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

Purpose:
!>
!> DLAG2S converts a DOUBLE PRECISION matrix, A, to a SINGLE
!> PRECISION matrix, SA.
!>
!> RMAX is the overflow for the SINGLE PRECISION arithmetic
!> DLAG2S 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 DOUBLE PRECISION 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 REAL 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 105 of file dlag2s.f.

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