1*> \brief \b DGENND
2*
3*  =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6*            http://www.netlib.org/lapack/explore-html/
7*
8*  Definition:
9*  ===========
10*
11*       LOGICAL FUNCTION DGENND (M, N, A, LDA)
12*
13*       .. Scalar Arguments ..
14*       INTEGER M, N, LDA
15*       ..
16*       .. Array Arguments ..
17*       DOUBLE PRECISION A( LDA, * )
18*       ..
19*
20*
21*> \par Purpose:
22*  =============
23*>
24*> \verbatim
25*>
26*>    DGENND tests that its argument has a non-negative diagonal.
27*> \endverbatim
28*
29*  Arguments:
30*  ==========
31*
32*> \param[in] M
33*> \verbatim
34*>          M is INTEGER
35*>          The number of rows in A.
36*> \endverbatim
37*>
38*> \param[in] N
39*> \verbatim
40*>          N is INTEGER
41*>          The number of columns in A.
42*> \endverbatim
43*>
44*> \param[in] A
45*> \verbatim
46*>          A is DOUBLE PRECISION array, dimension (LDA, N)
47*>          The matrix.
48*> \endverbatim
49*>
50*> \param[in] LDA
51*> \verbatim
52*>          LDA is INTEGER
53*>          Leading dimension of A.
54*> \endverbatim
55*
56*  Authors:
57*  ========
58*
59*> \author Univ. of Tennessee
60*> \author Univ. of California Berkeley
61*> \author Univ. of Colorado Denver
62*> \author NAG Ltd.
63*
64*> \date November 2011
65*
66*> \ingroup double_lin
67*
68*  =====================================================================
69      LOGICAL FUNCTION DGENND (M, N, A, LDA)
70*
71*  -- LAPACK test routine (version 3.4.0) --
72*  -- LAPACK is a software package provided by Univ. of Tennessee,    --
73*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
74*     November 2011
75*
76*     .. Scalar Arguments ..
77      INTEGER M, N, LDA
78*     ..
79*     .. Array Arguments ..
80      DOUBLE PRECISION A( LDA, * )
81*     ..
82*
83*  =====================================================================
84*
85*     .. Parameters ..
86      DOUBLE PRECISION   ZERO
87      PARAMETER          ( ZERO = 0.0D0 )
88*     ..
89*     .. Local Scalars ..
90      INTEGER I, K
91*     ..
92*     .. Intrinsics ..
93      INTRINSIC MIN
94*     ..
95*     .. Executable Statements ..
96      K = MIN( M, N )
97      DO I = 1, K
98         IF( A( I, I ).LT.ZERO ) THEN
99            DGENND = .FALSE.
100            RETURN
101         END IF
102      END DO
103      DGENND = .TRUE.
104      RETURN
105      END
106