Annotation of rpl/lapack/lapack/iladlc.f, revision 1.1
1.1 ! bertrand 1: INTEGER FUNCTION ILADLC(M, N, A, LDA)
! 2: IMPLICIT NONE
! 3: *
! 4: * -- LAPACK auxiliary routine (version 3.2.1) --
! 5: *
! 6: * -- April 2009 --
! 7: *
! 8: * -- LAPACK is a software package provided by Univ. of Tennessee, --
! 9: * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
! 10: *
! 11: * .. Scalar Arguments ..
! 12: INTEGER M, N, LDA
! 13: * ..
! 14: * .. Array Arguments ..
! 15: DOUBLE PRECISION A( LDA, * )
! 16: * ..
! 17: *
! 18: * Purpose
! 19: * =======
! 20: *
! 21: * ILADLC scans A for its last non-zero column.
! 22: *
! 23: * Arguments
! 24: * =========
! 25: *
! 26: * M (input) INTEGER
! 27: * The number of rows of the matrix A.
! 28: *
! 29: * N (input) INTEGER
! 30: * The number of columns of the matrix A.
! 31: *
! 32: * A (input) DOUBLE PRECISION array, dimension (LDA,N)
! 33: * The m by n matrix A.
! 34: *
! 35: * LDA (input) INTEGER
! 36: * The leading dimension of the array A. LDA >= max(1,M).
! 37: *
! 38: * =====================================================================
! 39: *
! 40: * .. Parameters ..
! 41: DOUBLE PRECISION ZERO
! 42: PARAMETER ( ZERO = 0.0D+0 )
! 43: * ..
! 44: * .. Local Scalars ..
! 45: INTEGER I
! 46: * ..
! 47: * .. Executable Statements ..
! 48: *
! 49: * Quick test for the common case where one corner is non-zero.
! 50: IF( N.EQ.0 ) THEN
! 51: ILADLC = N
! 52: ELSE IF( A(1, N).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN
! 53: ILADLC = N
! 54: ELSE
! 55: * Now scan each column from the end, returning with the first non-zero.
! 56: DO ILADLC = N, 1, -1
! 57: DO I = 1, M
! 58: IF( A(I, ILADLC).NE.ZERO ) RETURN
! 59: END DO
! 60: END DO
! 61: END IF
! 62: RETURN
! 63: END FUNCTION
CVSweb interface <joel.bertrand@systella.fr>