LAPACK  3.10.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.

Definition at line 110 of file dlat2s.f.

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