1 SUBROUTINE DERRVX( PATH, 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 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * DERRVX tests the error exits for the DOUBLE PRECISION driver routines
16 * for solving linear systems of equations.
17 *
18 * Arguments
19 * =========
20 *
21 * PATH (input) CHARACTER*3
22 * The LAPACK path name for the routines to be tested.
23 *
24 * NUNIT (input) INTEGER
25 * The unit number for output.
26 *
27 * =====================================================================
28 *
29 * .. Parameters ..
30 INTEGER NMAX
31 PARAMETER ( NMAX = 4 )
32 * ..
33 * .. Local Scalars ..
34 CHARACTER EQ
35 CHARACTER*2 C2
36 INTEGER I, INFO, J
37 DOUBLE PRECISION RCOND
38 * ..
39 * .. Local Arrays ..
40 INTEGER IP( NMAX ), IW( NMAX )
41 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
42 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
43 $ W( 2*NMAX ), X( NMAX )
44 * ..
45 * .. External Functions ..
46 LOGICAL LSAMEN
47 EXTERNAL LSAMEN
48 * ..
49 * .. External Subroutines ..
50 EXTERNAL CHKXER, DGBSV, DGBSVX, DGESV, DGESVX, DGTSV,
51 $ DGTSVX, DPBSV, DPBSVX, DPOSV, DPOSVX, DPPSV,
52 $ DPPSVX, DPTSV, DPTSVX, DSPSV, DSPSVX, DSYSV,
53 $ DSYSVX
54 * ..
55 * .. Scalars in Common ..
56 LOGICAL LERR, OK
57 CHARACTER*32 SRNAMT
58 INTEGER INFOT, NOUT
59 * ..
60 * .. Common blocks ..
61 COMMON / INFOC / INFOT, NOUT, OK, LERR
62 COMMON / SRNAMC / SRNAMT
63 * ..
64 * .. Intrinsic Functions ..
65 INTRINSIC DBLE
66 * ..
67 * .. Executable Statements ..
68 *
69 NOUT = NUNIT
70 WRITE( NOUT, FMT = * )
71 C2 = PATH( 2: 3 )
72 *
73 * Set the variables to innocuous values.
74 *
75 DO 20 J = 1, NMAX
76 DO 10 I = 1, NMAX
77 A( I, J ) = 1.D0 / DBLE( I+J )
78 AF( I, J ) = 1.D0 / DBLE( I+J )
79 10 CONTINUE
80 B( J ) = 0.D0
81 R1( J ) = 0.D0
82 R2( J ) = 0.D0
83 W( J ) = 0.D0
84 X( J ) = 0.D0
85 C( J ) = 0.D0
86 R( J ) = 0.D0
87 IP( J ) = J
88 20 CONTINUE
89 EQ = ' '
90 OK = .TRUE.
91 *
92 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
93 *
94 * DGESV
95 *
96 SRNAMT = 'DGESV '
97 INFOT = 1
98 CALL DGESV( -1, 0, A, 1, IP, B, 1, INFO )
99 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
100 INFOT = 2
101 CALL DGESV( 0, -1, A, 1, IP, B, 1, INFO )
102 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
103 INFOT = 4
104 CALL DGESV( 2, 1, A, 1, IP, B, 2, INFO )
105 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
106 INFOT = 7
107 CALL DGESV( 2, 1, A, 2, IP, B, 1, INFO )
108 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
109 *
110 * DGESVX
111 *
112 SRNAMT = 'DGESVX'
113 INFOT = 1
114 CALL DGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
115 $ X, 1, RCOND, R1, R2, W, IW, INFO )
116 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
117 INFOT = 2
118 CALL DGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
119 $ X, 1, RCOND, R1, R2, W, IW, INFO )
120 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
121 INFOT = 3
122 CALL DGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
123 $ X, 1, RCOND, R1, R2, W, IW, INFO )
124 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
125 INFOT = 4
126 CALL DGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
127 $ X, 1, RCOND, R1, R2, W, IW, INFO )
128 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
129 INFOT = 6
130 CALL DGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
131 $ X, 2, RCOND, R1, R2, W, IW, INFO )
132 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
133 INFOT = 8
134 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
135 $ X, 2, RCOND, R1, R2, W, IW, INFO )
136 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
137 INFOT = 10
138 EQ = '/'
139 CALL DGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
140 $ X, 1, RCOND, R1, R2, W, IW, INFO )
141 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
142 INFOT = 11
143 EQ = 'R'
144 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
145 $ X, 1, RCOND, R1, R2, W, IW, INFO )
146 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
147 INFOT = 12
148 EQ = 'C'
149 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
150 $ X, 1, RCOND, R1, R2, W, IW, INFO )
151 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
152 INFOT = 14
153 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
154 $ X, 2, RCOND, R1, R2, W, IW, INFO )
155 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
156 INFOT = 16
157 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
158 $ X, 1, RCOND, R1, R2, W, IW, INFO )
159 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
160 *
161 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
162 *
163 * DGBSV
164 *
165 SRNAMT = 'DGBSV '
166 INFOT = 1
167 CALL DGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
168 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
169 INFOT = 2
170 CALL DGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
171 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
172 INFOT = 3
173 CALL DGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
174 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
175 INFOT = 4
176 CALL DGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
177 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
178 INFOT = 6
179 CALL DGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
180 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
181 INFOT = 9
182 CALL DGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
183 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
184 *
185 * DGBSVX
186 *
187 SRNAMT = 'DGBSVX'
188 INFOT = 1
189 CALL DGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
190 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
191 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
192 INFOT = 2
193 CALL DGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
194 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
195 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
196 INFOT = 3
197 CALL DGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
198 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
199 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
200 INFOT = 4
201 CALL DGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
202 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
203 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
204 INFOT = 5
205 CALL DGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
206 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
207 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
208 INFOT = 6
209 CALL DGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
210 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
211 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
212 INFOT = 8
213 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
214 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
215 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
216 INFOT = 10
217 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
218 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
219 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
220 INFOT = 12
221 EQ = '/'
222 CALL DGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
223 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
224 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
225 INFOT = 13
226 EQ = 'R'
227 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
228 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
229 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
230 INFOT = 14
231 EQ = 'C'
232 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
233 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
234 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
235 INFOT = 16
236 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
237 $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
238 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
239 INFOT = 18
240 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
241 $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
242 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
243 *
244 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
245 *
246 * DGTSV
247 *
248 SRNAMT = 'DGTSV '
249 INFOT = 1
250 CALL DGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
251 $ INFO )
252 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
253 INFOT = 2
254 CALL DGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
255 $ INFO )
256 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
257 INFOT = 7
258 CALL DGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
259 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
260 *
261 * DGTSVX
262 *
263 SRNAMT = 'DGTSVX'
264 INFOT = 1
265 CALL DGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
266 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
267 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
268 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
269 INFOT = 2
270 CALL DGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
271 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
272 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
273 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
274 INFOT = 3
275 CALL DGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
276 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
277 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
278 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
279 INFOT = 4
280 CALL DGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
281 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
282 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
283 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
284 INFOT = 14
285 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
286 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
287 $ IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
288 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
289 INFOT = 16
290 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
291 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
292 $ IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
293 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
294 *
295 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
296 *
297 * DPOSV
298 *
299 SRNAMT = 'DPOSV '
300 INFOT = 1
301 CALL DPOSV( '/', 0, 0, A, 1, B, 1, INFO )
302 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
303 INFOT = 2
304 CALL DPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
305 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
306 INFOT = 3
307 CALL DPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
308 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
309 INFOT = 5
310 CALL DPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
311 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
312 INFOT = 7
313 CALL DPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
314 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
315 *
316 * DPOSVX
317 *
318 SRNAMT = 'DPOSVX'
319 INFOT = 1
320 CALL DPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
321 $ RCOND, R1, R2, W, IW, INFO )
322 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
323 INFOT = 2
324 CALL DPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
325 $ RCOND, R1, R2, W, IW, INFO )
326 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
327 INFOT = 3
328 CALL DPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
329 $ RCOND, R1, R2, W, IW, INFO )
330 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
331 INFOT = 4
332 CALL DPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
333 $ RCOND, R1, R2, W, IW, INFO )
334 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
335 INFOT = 6
336 CALL DPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
337 $ RCOND, R1, R2, W, IW, INFO )
338 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
339 INFOT = 8
340 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
341 $ RCOND, R1, R2, W, IW, INFO )
342 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
343 INFOT = 9
344 EQ = '/'
345 CALL DPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
346 $ RCOND, R1, R2, W, IW, INFO )
347 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
348 INFOT = 10
349 EQ = 'Y'
350 CALL DPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
351 $ RCOND, R1, R2, W, IW, INFO )
352 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
353 INFOT = 12
354 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
355 $ RCOND, R1, R2, W, IW, INFO )
356 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
357 INFOT = 14
358 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
359 $ RCOND, R1, R2, W, IW, INFO )
360 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
361 *
362 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
363 *
364 * DPPSV
365 *
366 SRNAMT = 'DPPSV '
367 INFOT = 1
368 CALL DPPSV( '/', 0, 0, A, B, 1, INFO )
369 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
370 INFOT = 2
371 CALL DPPSV( 'U', -1, 0, A, B, 1, INFO )
372 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
373 INFOT = 3
374 CALL DPPSV( 'U', 0, -1, A, B, 1, INFO )
375 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
376 INFOT = 6
377 CALL DPPSV( 'U', 2, 0, A, B, 1, INFO )
378 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
379 *
380 * DPPSVX
381 *
382 SRNAMT = 'DPPSVX'
383 INFOT = 1
384 CALL DPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
385 $ R1, R2, W, IW, INFO )
386 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
387 INFOT = 2
388 CALL DPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
389 $ R1, R2, W, IW, INFO )
390 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
391 INFOT = 3
392 CALL DPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
393 $ R1, R2, W, IW, INFO )
394 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
395 INFOT = 4
396 CALL DPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
397 $ R1, R2, W, IW, INFO )
398 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
399 INFOT = 7
400 EQ = '/'
401 CALL DPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
402 $ R1, R2, W, IW, INFO )
403 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
404 INFOT = 8
405 EQ = 'Y'
406 CALL DPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
407 $ R1, R2, W, IW, INFO )
408 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
409 INFOT = 10
410 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
411 $ R1, R2, W, IW, INFO )
412 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
413 INFOT = 12
414 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
415 $ R1, R2, W, IW, INFO )
416 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
417 *
418 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
419 *
420 * DPBSV
421 *
422 SRNAMT = 'DPBSV '
423 INFOT = 1
424 CALL DPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
425 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
426 INFOT = 2
427 CALL DPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
428 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
429 INFOT = 3
430 CALL DPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
431 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
432 INFOT = 4
433 CALL DPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
434 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
435 INFOT = 6
436 CALL DPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
437 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
438 INFOT = 8
439 CALL DPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
440 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
441 *
442 * DPBSVX
443 *
444 SRNAMT = 'DPBSVX'
445 INFOT = 1
446 CALL DPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
447 $ RCOND, R1, R2, W, IW, INFO )
448 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
449 INFOT = 2
450 CALL DPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
451 $ RCOND, R1, R2, W, IW, INFO )
452 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
453 INFOT = 3
454 CALL DPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
455 $ 1, RCOND, R1, R2, W, IW, INFO )
456 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
457 INFOT = 4
458 CALL DPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
459 $ 1, RCOND, R1, R2, W, IW, INFO )
460 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
461 INFOT = 5
462 CALL DPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
463 $ 1, RCOND, R1, R2, W, IW, INFO )
464 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
465 INFOT = 7
466 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
467 $ RCOND, R1, R2, W, IW, INFO )
468 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
469 INFOT = 9
470 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
471 $ RCOND, R1, R2, W, IW, INFO )
472 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
473 INFOT = 10
474 EQ = '/'
475 CALL DPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
476 $ RCOND, R1, R2, W, IW, INFO )
477 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
478 INFOT = 11
479 EQ = 'Y'
480 CALL DPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
481 $ RCOND, R1, R2, W, IW, INFO )
482 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
483 INFOT = 13
484 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
485 $ RCOND, R1, R2, W, IW, INFO )
486 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
487 INFOT = 15
488 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
489 $ RCOND, R1, R2, W, IW, INFO )
490 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
491 *
492 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
493 *
494 * DPTSV
495 *
496 SRNAMT = 'DPTSV '
497 INFOT = 1
498 CALL DPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
499 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
500 INFOT = 2
501 CALL DPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
502 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
503 INFOT = 6
504 CALL DPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
505 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
506 *
507 * DPTSVX
508 *
509 SRNAMT = 'DPTSVX'
510 INFOT = 1
511 CALL DPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
512 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
513 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
514 INFOT = 2
515 CALL DPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
516 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
517 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
518 INFOT = 3
519 CALL DPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
520 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
521 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
522 INFOT = 9
523 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
524 $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO )
525 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
526 INFOT = 11
527 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
528 $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO )
529 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
530 *
531 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
532 *
533 * DSYSV
534 *
535 SRNAMT = 'DSYSV '
536 INFOT = 1
537 CALL DSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
538 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
539 INFOT = 2
540 CALL DSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
541 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
542 INFOT = 3
543 CALL DSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
544 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
545 INFOT = 8
546 CALL DSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
547 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
548 *
549 * DSYSVX
550 *
551 SRNAMT = 'DSYSVX'
552 INFOT = 1
553 CALL DSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
554 $ RCOND, R1, R2, W, 1, IW, INFO )
555 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
556 INFOT = 2
557 CALL DSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
558 $ RCOND, R1, R2, W, 1, IW, INFO )
559 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
560 INFOT = 3
561 CALL DSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
562 $ RCOND, R1, R2, W, 1, IW, INFO )
563 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
564 INFOT = 4
565 CALL DSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
566 $ RCOND, R1, R2, W, 1, IW, INFO )
567 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
568 INFOT = 6
569 CALL DSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
570 $ RCOND, R1, R2, W, 4, IW, INFO )
571 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
572 INFOT = 8
573 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
574 $ RCOND, R1, R2, W, 4, IW, INFO )
575 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
576 INFOT = 11
577 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
578 $ RCOND, R1, R2, W, 4, IW, INFO )
579 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
580 INFOT = 13
581 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
582 $ RCOND, R1, R2, W, 4, IW, INFO )
583 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
584 INFOT = 18
585 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
586 $ RCOND, R1, R2, W, 3, IW, INFO )
587 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
588 *
589 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
590 *
591 * DSPSV
592 *
593 SRNAMT = 'DSPSV '
594 INFOT = 1
595 CALL DSPSV( '/', 0, 0, A, IP, B, 1, INFO )
596 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
597 INFOT = 2
598 CALL DSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
599 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
600 INFOT = 3
601 CALL DSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
602 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
603 INFOT = 7
604 CALL DSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
605 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
606 *
607 * DSPSVX
608 *
609 SRNAMT = 'DSPSVX'
610 INFOT = 1
611 CALL DSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
612 $ R2, W, IW, INFO )
613 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
614 INFOT = 2
615 CALL DSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
616 $ R2, W, IW, INFO )
617 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
618 INFOT = 3
619 CALL DSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
620 $ R2, W, IW, INFO )
621 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
622 INFOT = 4
623 CALL DSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
624 $ R2, W, IW, INFO )
625 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
626 INFOT = 9
627 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
628 $ R2, W, IW, INFO )
629 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
630 INFOT = 11
631 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
632 $ R2, W, IW, INFO )
633 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
634 END IF
635 *
636 * Print a summary line.
637 *
638 IF( OK ) THEN
639 WRITE( NOUT, FMT = 9999 )PATH
640 ELSE
641 WRITE( NOUT, FMT = 9998 )PATH
642 END IF
643 *
644 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
645 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
646 $ 'exits ***' )
647 *
648 RETURN
649 *
650 * End of DERRVX
651 *
652 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 CHARACTER*3 PATH
9 INTEGER NUNIT
10 * ..
11 *
12 * Purpose
13 * =======
14 *
15 * DERRVX tests the error exits for the DOUBLE PRECISION driver routines
16 * for solving linear systems of equations.
17 *
18 * Arguments
19 * =========
20 *
21 * PATH (input) CHARACTER*3
22 * The LAPACK path name for the routines to be tested.
23 *
24 * NUNIT (input) INTEGER
25 * The unit number for output.
26 *
27 * =====================================================================
28 *
29 * .. Parameters ..
30 INTEGER NMAX
31 PARAMETER ( NMAX = 4 )
32 * ..
33 * .. Local Scalars ..
34 CHARACTER EQ
35 CHARACTER*2 C2
36 INTEGER I, INFO, J
37 DOUBLE PRECISION RCOND
38 * ..
39 * .. Local Arrays ..
40 INTEGER IP( NMAX ), IW( NMAX )
41 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
42 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
43 $ W( 2*NMAX ), X( NMAX )
44 * ..
45 * .. External Functions ..
46 LOGICAL LSAMEN
47 EXTERNAL LSAMEN
48 * ..
49 * .. External Subroutines ..
50 EXTERNAL CHKXER, DGBSV, DGBSVX, DGESV, DGESVX, DGTSV,
51 $ DGTSVX, DPBSV, DPBSVX, DPOSV, DPOSVX, DPPSV,
52 $ DPPSVX, DPTSV, DPTSVX, DSPSV, DSPSVX, DSYSV,
53 $ DSYSVX
54 * ..
55 * .. Scalars in Common ..
56 LOGICAL LERR, OK
57 CHARACTER*32 SRNAMT
58 INTEGER INFOT, NOUT
59 * ..
60 * .. Common blocks ..
61 COMMON / INFOC / INFOT, NOUT, OK, LERR
62 COMMON / SRNAMC / SRNAMT
63 * ..
64 * .. Intrinsic Functions ..
65 INTRINSIC DBLE
66 * ..
67 * .. Executable Statements ..
68 *
69 NOUT = NUNIT
70 WRITE( NOUT, FMT = * )
71 C2 = PATH( 2: 3 )
72 *
73 * Set the variables to innocuous values.
74 *
75 DO 20 J = 1, NMAX
76 DO 10 I = 1, NMAX
77 A( I, J ) = 1.D0 / DBLE( I+J )
78 AF( I, J ) = 1.D0 / DBLE( I+J )
79 10 CONTINUE
80 B( J ) = 0.D0
81 R1( J ) = 0.D0
82 R2( J ) = 0.D0
83 W( J ) = 0.D0
84 X( J ) = 0.D0
85 C( J ) = 0.D0
86 R( J ) = 0.D0
87 IP( J ) = J
88 20 CONTINUE
89 EQ = ' '
90 OK = .TRUE.
91 *
92 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
93 *
94 * DGESV
95 *
96 SRNAMT = 'DGESV '
97 INFOT = 1
98 CALL DGESV( -1, 0, A, 1, IP, B, 1, INFO )
99 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
100 INFOT = 2
101 CALL DGESV( 0, -1, A, 1, IP, B, 1, INFO )
102 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
103 INFOT = 4
104 CALL DGESV( 2, 1, A, 1, IP, B, 2, INFO )
105 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
106 INFOT = 7
107 CALL DGESV( 2, 1, A, 2, IP, B, 1, INFO )
108 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
109 *
110 * DGESVX
111 *
112 SRNAMT = 'DGESVX'
113 INFOT = 1
114 CALL DGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
115 $ X, 1, RCOND, R1, R2, W, IW, INFO )
116 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
117 INFOT = 2
118 CALL DGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
119 $ X, 1, RCOND, R1, R2, W, IW, INFO )
120 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
121 INFOT = 3
122 CALL DGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
123 $ X, 1, RCOND, R1, R2, W, IW, INFO )
124 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
125 INFOT = 4
126 CALL DGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
127 $ X, 1, RCOND, R1, R2, W, IW, INFO )
128 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
129 INFOT = 6
130 CALL DGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
131 $ X, 2, RCOND, R1, R2, W, IW, INFO )
132 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
133 INFOT = 8
134 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
135 $ X, 2, RCOND, R1, R2, W, IW, INFO )
136 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
137 INFOT = 10
138 EQ = '/'
139 CALL DGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
140 $ X, 1, RCOND, R1, R2, W, IW, INFO )
141 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
142 INFOT = 11
143 EQ = 'R'
144 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
145 $ X, 1, RCOND, R1, R2, W, IW, INFO )
146 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
147 INFOT = 12
148 EQ = 'C'
149 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
150 $ X, 1, RCOND, R1, R2, W, IW, INFO )
151 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
152 INFOT = 14
153 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
154 $ X, 2, RCOND, R1, R2, W, IW, INFO )
155 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
156 INFOT = 16
157 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
158 $ X, 1, RCOND, R1, R2, W, IW, INFO )
159 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK )
160 *
161 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
162 *
163 * DGBSV
164 *
165 SRNAMT = 'DGBSV '
166 INFOT = 1
167 CALL DGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
168 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
169 INFOT = 2
170 CALL DGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
171 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
172 INFOT = 3
173 CALL DGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
174 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
175 INFOT = 4
176 CALL DGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
177 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
178 INFOT = 6
179 CALL DGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
180 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
181 INFOT = 9
182 CALL DGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
183 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
184 *
185 * DGBSVX
186 *
187 SRNAMT = 'DGBSVX'
188 INFOT = 1
189 CALL DGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
190 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
191 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
192 INFOT = 2
193 CALL DGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
194 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
195 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
196 INFOT = 3
197 CALL DGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
198 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
199 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
200 INFOT = 4
201 CALL DGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
202 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
203 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
204 INFOT = 5
205 CALL DGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
206 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
207 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
208 INFOT = 6
209 CALL DGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
210 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
211 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
212 INFOT = 8
213 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
214 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
215 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
216 INFOT = 10
217 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
218 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
219 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
220 INFOT = 12
221 EQ = '/'
222 CALL DGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
223 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
224 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
225 INFOT = 13
226 EQ = 'R'
227 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
228 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
229 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
230 INFOT = 14
231 EQ = 'C'
232 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
233 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
234 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
235 INFOT = 16
236 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
237 $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
238 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
239 INFOT = 18
240 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
241 $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
242 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK )
243 *
244 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
245 *
246 * DGTSV
247 *
248 SRNAMT = 'DGTSV '
249 INFOT = 1
250 CALL DGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
251 $ INFO )
252 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
253 INFOT = 2
254 CALL DGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
255 $ INFO )
256 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
257 INFOT = 7
258 CALL DGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
259 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
260 *
261 * DGTSVX
262 *
263 SRNAMT = 'DGTSVX'
264 INFOT = 1
265 CALL DGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
266 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
267 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
268 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
269 INFOT = 2
270 CALL DGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
271 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
272 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
273 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
274 INFOT = 3
275 CALL DGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
276 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
277 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
278 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
279 INFOT = 4
280 CALL DGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
281 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
282 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
283 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
284 INFOT = 14
285 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
286 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
287 $ IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
288 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
289 INFOT = 16
290 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
291 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
292 $ IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
293 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK )
294 *
295 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
296 *
297 * DPOSV
298 *
299 SRNAMT = 'DPOSV '
300 INFOT = 1
301 CALL DPOSV( '/', 0, 0, A, 1, B, 1, INFO )
302 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
303 INFOT = 2
304 CALL DPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
305 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
306 INFOT = 3
307 CALL DPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
308 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
309 INFOT = 5
310 CALL DPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
311 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
312 INFOT = 7
313 CALL DPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
314 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
315 *
316 * DPOSVX
317 *
318 SRNAMT = 'DPOSVX'
319 INFOT = 1
320 CALL DPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
321 $ RCOND, R1, R2, W, IW, INFO )
322 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
323 INFOT = 2
324 CALL DPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
325 $ RCOND, R1, R2, W, IW, INFO )
326 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
327 INFOT = 3
328 CALL DPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
329 $ RCOND, R1, R2, W, IW, INFO )
330 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
331 INFOT = 4
332 CALL DPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
333 $ RCOND, R1, R2, W, IW, INFO )
334 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
335 INFOT = 6
336 CALL DPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
337 $ RCOND, R1, R2, W, IW, INFO )
338 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
339 INFOT = 8
340 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
341 $ RCOND, R1, R2, W, IW, INFO )
342 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
343 INFOT = 9
344 EQ = '/'
345 CALL DPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
346 $ RCOND, R1, R2, W, IW, INFO )
347 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
348 INFOT = 10
349 EQ = 'Y'
350 CALL DPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
351 $ RCOND, R1, R2, W, IW, INFO )
352 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
353 INFOT = 12
354 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
355 $ RCOND, R1, R2, W, IW, INFO )
356 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
357 INFOT = 14
358 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
359 $ RCOND, R1, R2, W, IW, INFO )
360 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
361 *
362 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
363 *
364 * DPPSV
365 *
366 SRNAMT = 'DPPSV '
367 INFOT = 1
368 CALL DPPSV( '/', 0, 0, A, B, 1, INFO )
369 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
370 INFOT = 2
371 CALL DPPSV( 'U', -1, 0, A, B, 1, INFO )
372 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
373 INFOT = 3
374 CALL DPPSV( 'U', 0, -1, A, B, 1, INFO )
375 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
376 INFOT = 6
377 CALL DPPSV( 'U', 2, 0, A, B, 1, INFO )
378 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
379 *
380 * DPPSVX
381 *
382 SRNAMT = 'DPPSVX'
383 INFOT = 1
384 CALL DPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
385 $ R1, R2, W, IW, INFO )
386 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
387 INFOT = 2
388 CALL DPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
389 $ R1, R2, W, IW, INFO )
390 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
391 INFOT = 3
392 CALL DPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
393 $ R1, R2, W, IW, INFO )
394 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
395 INFOT = 4
396 CALL DPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
397 $ R1, R2, W, IW, INFO )
398 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
399 INFOT = 7
400 EQ = '/'
401 CALL DPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
402 $ R1, R2, W, IW, INFO )
403 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
404 INFOT = 8
405 EQ = 'Y'
406 CALL DPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
407 $ R1, R2, W, IW, INFO )
408 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
409 INFOT = 10
410 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
411 $ R1, R2, W, IW, INFO )
412 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
413 INFOT = 12
414 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
415 $ R1, R2, W, IW, INFO )
416 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
417 *
418 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
419 *
420 * DPBSV
421 *
422 SRNAMT = 'DPBSV '
423 INFOT = 1
424 CALL DPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
425 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
426 INFOT = 2
427 CALL DPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
428 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
429 INFOT = 3
430 CALL DPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
431 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
432 INFOT = 4
433 CALL DPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
434 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
435 INFOT = 6
436 CALL DPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
437 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
438 INFOT = 8
439 CALL DPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
440 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
441 *
442 * DPBSVX
443 *
444 SRNAMT = 'DPBSVX'
445 INFOT = 1
446 CALL DPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
447 $ RCOND, R1, R2, W, IW, INFO )
448 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
449 INFOT = 2
450 CALL DPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
451 $ RCOND, R1, R2, W, IW, INFO )
452 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
453 INFOT = 3
454 CALL DPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
455 $ 1, RCOND, R1, R2, W, IW, INFO )
456 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
457 INFOT = 4
458 CALL DPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
459 $ 1, RCOND, R1, R2, W, IW, INFO )
460 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
461 INFOT = 5
462 CALL DPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
463 $ 1, RCOND, R1, R2, W, IW, INFO )
464 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
465 INFOT = 7
466 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
467 $ RCOND, R1, R2, W, IW, INFO )
468 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
469 INFOT = 9
470 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
471 $ RCOND, R1, R2, W, IW, INFO )
472 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
473 INFOT = 10
474 EQ = '/'
475 CALL DPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
476 $ RCOND, R1, R2, W, IW, INFO )
477 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
478 INFOT = 11
479 EQ = 'Y'
480 CALL DPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
481 $ RCOND, R1, R2, W, IW, INFO )
482 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
483 INFOT = 13
484 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
485 $ RCOND, R1, R2, W, IW, INFO )
486 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
487 INFOT = 15
488 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
489 $ RCOND, R1, R2, W, IW, INFO )
490 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
491 *
492 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
493 *
494 * DPTSV
495 *
496 SRNAMT = 'DPTSV '
497 INFOT = 1
498 CALL DPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
499 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
500 INFOT = 2
501 CALL DPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
502 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
503 INFOT = 6
504 CALL DPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
505 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
506 *
507 * DPTSVX
508 *
509 SRNAMT = 'DPTSVX'
510 INFOT = 1
511 CALL DPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
512 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
513 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
514 INFOT = 2
515 CALL DPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
516 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
517 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
518 INFOT = 3
519 CALL DPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
520 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
521 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
522 INFOT = 9
523 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
524 $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO )
525 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
526 INFOT = 11
527 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
528 $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO )
529 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK )
530 *
531 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
532 *
533 * DSYSV
534 *
535 SRNAMT = 'DSYSV '
536 INFOT = 1
537 CALL DSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
538 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
539 INFOT = 2
540 CALL DSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
541 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
542 INFOT = 3
543 CALL DSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
544 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
545 INFOT = 8
546 CALL DSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
547 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
548 *
549 * DSYSVX
550 *
551 SRNAMT = 'DSYSVX'
552 INFOT = 1
553 CALL DSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
554 $ RCOND, R1, R2, W, 1, IW, INFO )
555 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
556 INFOT = 2
557 CALL DSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
558 $ RCOND, R1, R2, W, 1, IW, INFO )
559 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
560 INFOT = 3
561 CALL DSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
562 $ RCOND, R1, R2, W, 1, IW, INFO )
563 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
564 INFOT = 4
565 CALL DSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
566 $ RCOND, R1, R2, W, 1, IW, INFO )
567 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
568 INFOT = 6
569 CALL DSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
570 $ RCOND, R1, R2, W, 4, IW, INFO )
571 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
572 INFOT = 8
573 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
574 $ RCOND, R1, R2, W, 4, IW, INFO )
575 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
576 INFOT = 11
577 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
578 $ RCOND, R1, R2, W, 4, IW, INFO )
579 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
580 INFOT = 13
581 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
582 $ RCOND, R1, R2, W, 4, IW, INFO )
583 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
584 INFOT = 18
585 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
586 $ RCOND, R1, R2, W, 3, IW, INFO )
587 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
588 *
589 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
590 *
591 * DSPSV
592 *
593 SRNAMT = 'DSPSV '
594 INFOT = 1
595 CALL DSPSV( '/', 0, 0, A, IP, B, 1, INFO )
596 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
597 INFOT = 2
598 CALL DSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
599 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
600 INFOT = 3
601 CALL DSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
602 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
603 INFOT = 7
604 CALL DSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
605 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
606 *
607 * DSPSVX
608 *
609 SRNAMT = 'DSPSVX'
610 INFOT = 1
611 CALL DSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
612 $ R2, W, IW, INFO )
613 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
614 INFOT = 2
615 CALL DSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
616 $ R2, W, IW, INFO )
617 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
618 INFOT = 3
619 CALL DSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
620 $ R2, W, IW, INFO )
621 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
622 INFOT = 4
623 CALL DSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
624 $ R2, W, IW, INFO )
625 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
626 INFOT = 9
627 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
628 $ R2, W, IW, INFO )
629 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
630 INFOT = 11
631 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
632 $ R2, W, IW, INFO )
633 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
634 END IF
635 *
636 * Print a summary line.
637 *
638 IF( OK ) THEN
639 WRITE( NOUT, FMT = 9999 )PATH
640 ELSE
641 WRITE( NOUT, FMT = 9998 )PATH
642 END IF
643 *
644 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
645 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
646 $ 'exits ***' )
647 *
648 RETURN
649 *
650 * End of DERRVX
651 *
652 END