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