1 SUBROUTINE ZERRAB( NUNIT )
2 *
3 * -- LAPACK test routine (version 3.1.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * January 2007
6 *
7 * .. Scalar Arguments ..
8 INTEGER NUNIT
9 * ..
10 *
11 * Purpose
12 * =======
13 *
14 * DERRAB tests the error exits for ZCGESV.
15 *
16 * Arguments
17 * =========
18 *
19 * NUNIT (input) INTEGER
20 * The unit number for output.
21 *
22 * =====================================================================
23 *
24 * .. Parameters ..
25 INTEGER NMAX
26 PARAMETER ( NMAX = 4 )
27 * ..
28 * .. Local Scalars ..
29 INTEGER I, INFO, ITER, J
30 * ..
31 * .. Local Arrays ..
32 INTEGER IP( NMAX )
33 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
34 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
35 $ W( 2*NMAX ), X( NMAX )
36 COMPLEX*16 WORK(1)
37 COMPLEX SWORK(1)
38 DOUBLE PRECISION RWORK(1)
39 * ..
40 * .. External Functions ..
41 * ..
42 * .. External Subroutines ..
43 EXTERNAL CHKXER, ZCGESV
44 * ..
45 * .. Scalars in Common ..
46 LOGICAL LERR, OK
47 CHARACTER*32 SRNAMT
48 INTEGER INFOT, NOUT
49 * ..
50 * .. Common blocks ..
51 COMMON / INFOC / INFOT, NOUT, OK, LERR
52 COMMON / SRNAMC / SRNAMT
53 * ..
54 * .. Intrinsic Functions ..
55 INTRINSIC DBLE
56 * ..
57 * .. Executable Statements ..
58 *
59 NOUT = NUNIT
60 WRITE( NOUT, FMT = * )
61 *
62 * Set the variables to innocuous values.
63 *
64 DO 20 J = 1, NMAX
65 DO 10 I = 1, NMAX
66 A( I, J ) = 1.D0 / DBLE( I+J )
67 AF( I, J ) = 1.D0 / DBLE( I+J )
68 10 CONTINUE
69 B( J ) = 0.D0
70 R1( J ) = 0.D0
71 R2( J ) = 0.D0
72 W( J ) = 0.D0
73 X( J ) = 0.D0
74 C( J ) = 0.D0
75 R( J ) = 0.D0
76 IP( J ) = J
77 20 CONTINUE
78 OK = .TRUE.
79 *
80 SRNAMT = 'ZCGESV'
81 INFOT = 1
82 CALL ZCGESV(-1,0,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
83 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
84 INFOT = 2
85 CALL ZCGESV(0,-1,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
86 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
87 INFOT = 4
88 CALL ZCGESV(2,1,A,1,IP,B,2,X,2,WORK,SWORK,RWORK,ITER,INFO)
89 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
90 INFOT = 7
91 CALL ZCGESV(2,1,A,2,IP,B,1,X,2,WORK,SWORK,RWORK,ITER,INFO)
92 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
93 INFOT = 9
94 CALL ZCGESV(2,1,A,2,IP,B,2,X,1,WORK,SWORK,RWORK,ITER,INFO)
95 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
96 *
97 * Print a summary line.
98 *
99 IF( OK ) THEN
100 WRITE( NOUT, FMT = 9999 )'ZCGESV'
101 ELSE
102 WRITE( NOUT, FMT = 9998 )'ZCGESV'
103 END IF
104 *
105 9999 FORMAT( 1X, A6, ' drivers passed the tests of the error exits' )
106 9998 FORMAT( ' *** ', A6, ' drivers failed the tests of the error ',
107 $ 'exits ***' )
108 *
109 RETURN
110 *
111 * End of ZERRAB
112 *
113 END
2 *
3 * -- LAPACK test routine (version 3.1.1) --
4 * Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
5 * January 2007
6 *
7 * .. Scalar Arguments ..
8 INTEGER NUNIT
9 * ..
10 *
11 * Purpose
12 * =======
13 *
14 * DERRAB tests the error exits for ZCGESV.
15 *
16 * Arguments
17 * =========
18 *
19 * NUNIT (input) INTEGER
20 * The unit number for output.
21 *
22 * =====================================================================
23 *
24 * .. Parameters ..
25 INTEGER NMAX
26 PARAMETER ( NMAX = 4 )
27 * ..
28 * .. Local Scalars ..
29 INTEGER I, INFO, ITER, J
30 * ..
31 * .. Local Arrays ..
32 INTEGER IP( NMAX )
33 COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
34 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
35 $ W( 2*NMAX ), X( NMAX )
36 COMPLEX*16 WORK(1)
37 COMPLEX SWORK(1)
38 DOUBLE PRECISION RWORK(1)
39 * ..
40 * .. External Functions ..
41 * ..
42 * .. External Subroutines ..
43 EXTERNAL CHKXER, ZCGESV
44 * ..
45 * .. Scalars in Common ..
46 LOGICAL LERR, OK
47 CHARACTER*32 SRNAMT
48 INTEGER INFOT, NOUT
49 * ..
50 * .. Common blocks ..
51 COMMON / INFOC / INFOT, NOUT, OK, LERR
52 COMMON / SRNAMC / SRNAMT
53 * ..
54 * .. Intrinsic Functions ..
55 INTRINSIC DBLE
56 * ..
57 * .. Executable Statements ..
58 *
59 NOUT = NUNIT
60 WRITE( NOUT, FMT = * )
61 *
62 * Set the variables to innocuous values.
63 *
64 DO 20 J = 1, NMAX
65 DO 10 I = 1, NMAX
66 A( I, J ) = 1.D0 / DBLE( I+J )
67 AF( I, J ) = 1.D0 / DBLE( I+J )
68 10 CONTINUE
69 B( J ) = 0.D0
70 R1( J ) = 0.D0
71 R2( J ) = 0.D0
72 W( J ) = 0.D0
73 X( J ) = 0.D0
74 C( J ) = 0.D0
75 R( J ) = 0.D0
76 IP( J ) = J
77 20 CONTINUE
78 OK = .TRUE.
79 *
80 SRNAMT = 'ZCGESV'
81 INFOT = 1
82 CALL ZCGESV(-1,0,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
83 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
84 INFOT = 2
85 CALL ZCGESV(0,-1,A,1,IP,B,1,X,1,WORK,SWORK,RWORK,ITER,INFO)
86 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
87 INFOT = 4
88 CALL ZCGESV(2,1,A,1,IP,B,2,X,2,WORK,SWORK,RWORK,ITER,INFO)
89 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
90 INFOT = 7
91 CALL ZCGESV(2,1,A,2,IP,B,1,X,2,WORK,SWORK,RWORK,ITER,INFO)
92 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
93 INFOT = 9
94 CALL ZCGESV(2,1,A,2,IP,B,2,X,1,WORK,SWORK,RWORK,ITER,INFO)
95 CALL CHKXER( 'ZCGESV', INFOT, NOUT, LERR, OK )
96 *
97 * Print a summary line.
98 *
99 IF( OK ) THEN
100 WRITE( NOUT, FMT = 9999 )'ZCGESV'
101 ELSE
102 WRITE( NOUT, FMT = 9998 )'ZCGESV'
103 END IF
104 *
105 9999 FORMAT( 1X, A6, ' drivers passed the tests of the error exits' )
106 9998 FORMAT( ' *** ', A6, ' drivers failed the tests of the error ',
107 $ 'exits ***' )
108 *
109 RETURN
110 *
111 * End of ZERRAB
112 *
113 END