SUBROUTINE DSLACONVERTGED2S(M,N,A,LDA,SA,LDSA,INFO)
*
* -- LAPACK auxiliary routine (version @(version)) --* @(who)
* @(date)
*
* .. Scalar Arguments ..
INTEGER INFO,LDA,LDSA,M,N
* ..
* .. Array Arguments ..
REAL SA(LDSA,*)
DOUBLE PRECISION A(LDA,*)
* ..
*
* Purpose
* =======
*
* DSLACONVERTGED2S converts a SINGLE PRECISION matrix, SA, to a DOUBLE
* PRECISION matrix, A.
*
* RMAX is the overflow for the SINGLE PRECISION arithmetic
* DSLACONVERTGED2S detects when an entry of A is greater than RMAX or
* smaller than -RMAX. If this is the case the convertion is aborted.
*
* Arguments
* =========
*
* M (input) INTEGER
* The number of lines of the matrix A. M >= 0.
*
* N (input) INTEGER
* The number of columns of the matrix A. N >= 0.
*
* A (input) DOUBLE PRECISION array, dimension (LDA,N)
* On entry, the M-by-N coefficient matrix A.
*
* LDA (input) INTEGER
* The leading dimension of the array A. LDA >= max(1,M).
*
* SA (output) REAL array, dimension (LDSA,N)
* On exit, if INFO=0, the M-by-N coefficient matrix SA.
*
* LDSA (input) INTEGER
* The leading dimension of the array SA. LDSA >= max(1,M).
*
* INFO (output) INTEGER
* = 0: successful exit
* > 0: if INFO = k, the (i,j) entry of the matrix A has
* overflowed when moving from DOUBLE PRECISION to SINGLE
* k is given by k = (i-1)*LDA+j
*
* =========
*
* .. Local Scalars ..
INTEGER I,J
DOUBLE PRECISION RMAX
* ..
* .. External Functions ..
REAL SLAMCH
EXTERNAL SLAMCH
* ..
* .. Executable Statements ..
*
RMAX = SLAMCH('O')
DO 20 J = 1,N
DO 30 I = 1,M
IF ((A(I,J).LT.-RMAX) .OR. (A(I,J).GT.RMAX)) THEN
INFO = (I-1)*LDA + J
GO TO 10
END IF
SA(I,J) = A(I,J)
30 CONTINUE
20 CONTINUE
10 CONTINUE
RETURN
*
* End of DSLACONVERTGED2S
*
END