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.

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.```
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: