LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ 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.
Date
December 2016

Definition at line 113 of file dlat2s.f.

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