Annotation of rpl/lapack/lapack/dlag2s.f, revision 1.1
1.1 ! bertrand 1: SUBROUTINE DLAG2S( M, N, A, LDA, SA, LDSA, INFO )
! 2: *
! 3: * -- LAPACK PROTOTYPE auxiliary routine (version 3.1.2) --
! 4: * -- LAPACK is a software package provided by Univ. of Tennessee, --
! 5: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! 6: * August 2007
! 7: *
! 8: * ..
! 9: * .. Scalar Arguments ..
! 10: INTEGER INFO, LDA, LDSA, M, N
! 11: * ..
! 12: * .. Array Arguments ..
! 13: REAL SA( LDSA, * )
! 14: DOUBLE PRECISION A( LDA, * )
! 15: * ..
! 16: *
! 17: * Purpose
! 18: * =======
! 19: *
! 20: * DLAG2S converts a DOUBLE PRECISION matrix, SA, to a SINGLE
! 21: * PRECISION matrix, A.
! 22: *
! 23: * RMAX is the overflow for the SINGLE PRECISION arithmetic
! 24: * DLAG2S checks that all the entries of A are between -RMAX and
! 25: * RMAX. If not the convertion is aborted and a flag is raised.
! 26: *
! 27: * This is an auxiliary routine so there is no argument checking.
! 28: *
! 29: * Arguments
! 30: * =========
! 31: *
! 32: * M (input) INTEGER
! 33: * The number of lines of the matrix A. M >= 0.
! 34: *
! 35: * N (input) INTEGER
! 36: * The number of columns of the matrix A. N >= 0.
! 37: *
! 38: * A (input) DOUBLE PRECISION array, dimension (LDA,N)
! 39: * On entry, the M-by-N coefficient matrix A.
! 40: *
! 41: * LDA (input) INTEGER
! 42: * The leading dimension of the array A. LDA >= max(1,M).
! 43: *
! 44: * SA (output) REAL array, dimension (LDSA,N)
! 45: * On exit, if INFO=0, the M-by-N coefficient matrix SA; if
! 46: * INFO>0, the content of SA is unspecified.
! 47: *
! 48: * LDSA (input) INTEGER
! 49: * The leading dimension of the array SA. LDSA >= max(1,M).
! 50: *
! 51: * INFO (output) INTEGER
! 52: * = 0: successful exit.
! 53: * = 1: an entry of the matrix A is greater than the SINGLE
! 54: * PRECISION overflow threshold, in this case, the content
! 55: * of SA in exit is unspecified.
! 56: *
! 57: * =========
! 58: *
! 59: * .. Local Scalars ..
! 60: INTEGER I, J
! 61: DOUBLE PRECISION RMAX
! 62: * ..
! 63: * .. External Functions ..
! 64: REAL SLAMCH
! 65: EXTERNAL SLAMCH
! 66: * ..
! 67: * .. Executable Statements ..
! 68: *
! 69: RMAX = SLAMCH( 'O' )
! 70: DO 20 J = 1, N
! 71: DO 10 I = 1, M
! 72: IF( ( A( I, J ).LT.-RMAX ) .OR. ( A( I, J ).GT.RMAX ) ) THEN
! 73: INFO = 1
! 74: GO TO 30
! 75: END IF
! 76: SA( I, J ) = A( I, J )
! 77: 10 CONTINUE
! 78: 20 CONTINUE
! 79: INFO = 0
! 80: 30 CONTINUE
! 81: RETURN
! 82: *
! 83: * End of DLAG2S
! 84: *
! 85: END
CVSweb interface <joel.bertrand@systella.fr>