LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ iladlr()

integer function iladlr ( integer  M,
integer  N,
double precision, dimension( lda, * )  A,
integer  LDA 
)

ILADLR scans a matrix for its last non-zero row.

Download ILADLR + dependencies [TGZ] [ZIP] [TXT]

Purpose:
 ILADLR scans A for its last non-zero row.
Parameters
[in]M
          M is INTEGER
          The number of rows of the matrix A.
[in]N
          N is INTEGER
          The number of columns of the matrix A.
[in]A
          A is DOUBLE PRECISION array, dimension (LDA,N)
          The m by n matrix A.
[in]LDA
          LDA is INTEGER
          The leading dimension of the array A. LDA >= max(1,M).
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 80 of file iladlr.f.

80 *
81 * -- LAPACK auxiliary routine (version 3.7.0) --
82 * -- LAPACK is a software package provided by Univ. of Tennessee, --
83 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
84 * December 2016
85 *
86 * .. Scalar Arguments ..
87  INTEGER m, n, lda
88 * ..
89 * .. Array Arguments ..
90  DOUBLE PRECISION a( lda, * )
91 * ..
92 *
93 * =====================================================================
94 *
95 * .. Parameters ..
96  DOUBLE PRECISION zero
97  parameter( zero = 0.0d+0 )
98 * ..
99 * .. Local Scalars ..
100  INTEGER i, j
101 * ..
102 * .. Executable Statements ..
103 *
104 * Quick test for the common case where one corner is non-zero.
105  IF( m.EQ.0 ) THEN
106  iladlr = m
107  ELSE IF( a(m, 1).NE.zero .OR. a(m, n).NE.zero ) THEN
108  iladlr = m
109  ELSE
110 * Scan up each column tracking the last zero row seen.
111  iladlr = 0
112  DO j = 1, n
113  i=m
114  DO WHILE((a(max(i,1),j).EQ.zero).AND.(i.GE.1))
115  i=i-1
116  ENDDO
117  iladlr = max( iladlr, i )
118  END DO
119  END IF
120  RETURN
integer function iladlr(M, N, A, LDA)
ILADLR scans a matrix for its last non-zero row.
Definition: iladlr.f:80