1       LOGICAL FUNCTION SGENND (M, N, A, LDA)
 2       IMPLICIT NONE
 3 *
 4 *  -- LAPACK test routine (version 3.1) --
 5 *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
 6 *     February 2008
 7 *
 8 *     .. Scalar Arguments ..
 9       INTEGER M, N, LDA
10 *     ..
11 *     .. Array Arguments ..
12       REAL A( LDA, * )
13 *     ..
14 *
15 *  Purpose
16 *  =======
17 *
18 *     SGENND tests that its argument has a non-negative diagonal.
19 *
20 *  Arguments
21 *  =========
22 *
23 *  M       (input) INTEGER
24 *          The number of rows in A.
25 *
26 *  N       (input) INTEGER
27 *          The number of columns in A.
28 *
29 *  A       (input) REAL array, dimension (LDA, N)
30 *          The matrix.
31 *
32 *  LDA     (input) INTEGER
33 *          Leading dimension of A.
34 *
35 *  =====================================================================
36 *
37 *     .. Parameters ..
38       REAL               ZERO
39       PARAMETER          ( ZERO = 0.0E0 )
40 *     ..
41 *     .. Local Scalars ..
42       INTEGER I, K
43 *     ..
44 *     .. Intrinsics ..
45       INTRINSIC MIN
46 *     ..
47 *     .. Executable Statements ..
48       K = MIN( M, N )
49       DO I = 1, K
50          IF( A( I, I ).LT.ZERO ) THEN
51             SGENND = .FALSE.
52             RETURN
53          END IF
54       END DO
55       SGENND = .TRUE.
56       RETURN
57       END