17faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \brief \b ILAZLC
27faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
37faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  =========== DOCUMENTATION ===========
47faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
57faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez* Online html documentation available at
67faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*            http://www.netlib.org/lapack/explore-html/
77faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
87faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \htmlonly
97faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> Download ILAZLC + dependencies
107faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/ilazlc.f">
117faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> [TGZ]</a>
127faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/ilazlc.f">
137faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> [ZIP]</a>
147faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/ilazlc.f">
157faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> [TXT]</a>
167faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endhtmlonly
177faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
187faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  Definition:
197faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  ===========
207faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
217faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       INTEGER FUNCTION ILAZLC( M, N, A, LDA )
227faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
237faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       .. Scalar Arguments ..
247faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       INTEGER            M, N, LDA
257faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       ..
267faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       .. Array Arguments ..
277faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       COMPLEX*16         A( LDA, * )
287faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*       ..
297faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
307faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
317faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \par Purpose:
327faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  =============
337faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>
347faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \verbatim
357faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>
367faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> ILAZLC scans A for its last non-zero column.
377faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endverbatim
387faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
397faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  Arguments:
407faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  ==========
417faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
427faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \param[in] M
437faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \verbatim
447faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          M is INTEGER
457faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          The number of rows of the matrix A.
467faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endverbatim
477faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>
487faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \param[in] N
497faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \verbatim
507faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          N is INTEGER
517faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          The number of columns of the matrix A.
527faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endverbatim
537faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>
547faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \param[in] A
557faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \verbatim
567faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          A is COMPLEX*16 array, dimension (LDA,N)
577faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          The m by n matrix A.
587faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endverbatim
597faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>
607faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \param[in] LDA
617faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \verbatim
627faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          LDA is INTEGER
637faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*>          The leading dimension of the array A. LDA >= max(1,M).
647faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \endverbatim
657faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
667faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  Authors:
677faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  ========
687faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
697faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \author Univ. of Tennessee
707faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \author Univ. of California Berkeley
717faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \author Univ. of Colorado Denver
727faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \author NAG Ltd.
737faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
747faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \date November 2011
757faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
767faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*> \ingroup complex16OTHERauxiliary
777faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
787faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  =====================================================================
797faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      INTEGER FUNCTION ILAZLC( M, N, A, LDA )
807faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
817faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  -- LAPACK auxiliary routine (version 3.4.0) --
827faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  -- LAPACK is a software package provided by Univ. of Tennessee,    --
837faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
847faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     November 2011
857faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
867faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     .. Scalar Arguments ..
877faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      INTEGER            M, N, LDA
887faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     ..
897faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     .. Array Arguments ..
907faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      COMPLEX*16         A( LDA, * )
917faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     ..
927faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
937faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*  =====================================================================
947faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
957faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     .. Parameters ..
967faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      COMPLEX*16       ZERO
977faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      PARAMETER ( ZERO = (0.0D+0, 0.0D+0) )
987faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     ..
997faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     .. Local Scalars ..
1007faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      INTEGER I
1017faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     ..
1027faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     .. Executable Statements ..
1037faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*
1047faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     Quick test for the common case where one corner is non-zero.
1057faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      IF( N.EQ.0 ) THEN
1067faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez         ILAZLC = N
1077faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      ELSE IF( A(1, N).NE.ZERO .OR. A(M, N).NE.ZERO ) THEN
1087faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez         ILAZLC = N
1097faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      ELSE
1107faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez*     Now scan each column from the end, returning with the first non-zero.
1117faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez         DO ILAZLC = N, 1, -1
1127faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez            DO I = 1, M
1137faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez               IF( A(I, ILAZLC).NE.ZERO ) RETURN
1147faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez            END DO
1157faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez         END DO
1167faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      END IF
1177faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      RETURN
1187faaa9f3f0df9d23790277834d426c3d992ac3baCarlos Hernandez      END
119