LAPACK Code: dslaconvertged2s.f
FORTRAN 77 Code for DSLACONVERTGED2S

      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

Oct 30 2014 Admin Login