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

◆ dlat2s()

subroutine dlat2s ( character uplo,
integer n,
double precision, dimension( lda, * ) a,
integer lda,
real, dimension( ldsa, * ) sa,
integer ldsa,
integer info )

DLAT2S converts a double-precision triangular matrix to a single-precision triangular matrix.

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

Purpose:
!>
!> DLAT2S converts a DOUBLE PRECISION triangular matrix, SA, to a SINGLE
!> PRECISION triangular matrix, A.
!>
!> RMAX is the overflow for the SINGLE PRECISION arithmetic
!> DLAS2S 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]UPLO
!>          UPLO is CHARACTER*1
!>          = 'U':  A is upper triangular;
!>          = 'L':  A is lower triangular.
!> 
[in]N
!>          N is INTEGER
!>          The number of rows and columns of the matrix A.  N >= 0.
!> 
[in]A
!>          A is DOUBLE PRECISION array, dimension (LDA,N)
!>          On entry, the N-by-N triangular coefficient matrix A.
!> 
[in]LDA
!>          LDA is INTEGER
!>          The leading dimension of the array A.  LDA >= max(1,N).
!> 
[out]SA
!>          SA is REAL array, dimension (LDSA,N)
!>          Only the UPLO part of SA is referenced.  On exit, if INFO=0,
!>          the N-by-N coefficient matrix SA; if INFO>0, the content of
!>          the UPLO part 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 the UPLO part of SA in exit is unspecified.
!> 
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 108 of file dlat2s.f.

109*
110* -- LAPACK auxiliary routine --
111* -- LAPACK is a software package provided by Univ. of Tennessee, --
112* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
113*
114* .. Scalar Arguments ..
115 CHARACTER UPLO
116 INTEGER INFO, LDA, LDSA, N
117* ..
118* .. Array Arguments ..
119 REAL SA( LDSA, * )
120 DOUBLE PRECISION A( LDA, * )
121* ..
122*
123* =====================================================================
124*
125* .. Local Scalars ..
126 INTEGER I, J
127 DOUBLE PRECISION RMAX
128 LOGICAL UPPER
129* ..
130* .. External Functions ..
131 REAL SLAMCH
132 LOGICAL LSAME
133 EXTERNAL slamch, lsame
134* ..
135* .. Intrinsic Functions ..
136 INTRINSIC real
137* ..
138* .. Executable Statements ..
139*
140 rmax = slamch( 'O' )
141 upper = lsame( uplo, 'U' )
142 IF( upper ) THEN
143 DO 20 j = 1, n
144 DO 10 i = 1, j
145 IF( ( a( i, j ).LT.-rmax ) .OR. ( a( i, j ).GT.rmax ) )
146 $ THEN
147 info = 1
148 GO TO 50
149 END IF
150 sa( i, j ) = real( a( i, j ) )
151 10 CONTINUE
152 20 CONTINUE
153 ELSE
154 DO 40 j = 1, n
155 DO 30 i = j, n
156 IF( ( a( i, j ).LT.-rmax ) .OR. ( a( i, j ).GT.rmax ) )
157 $ THEN
158 info = 1
159 GO TO 50
160 END IF
161 sa( i, j ) = real( a( i, j ) )
162 30 CONTINUE
163 40 CONTINUE
164 END IF
165 50 CONTINUE
166*
167 RETURN
168*
169* End of DLAT2S
170*
real function slamch(cmach)
SLAMCH
Definition slamch.f:68
logical function lsame(ca, cb)
LSAME
Definition lsame.f:48
Here is the caller graph for this function: