LAPACK 3.11.0
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ cerrvx()

subroutine cerrvx ( character*3  PATH,
integer  NUNIT 
)

CERRVX

CERRVXX

Purpose:
 CERRVX tests the error exits for the COMPLEX driver routines
 for solving linear systems of equations.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 54 of file cerrvx.f.

55*
56* -- LAPACK test routine --
57* -- LAPACK is a software package provided by Univ. of Tennessee, --
58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
59*
60* .. Scalar Arguments ..
61 CHARACTER*3 PATH
62 INTEGER NUNIT
63* ..
64*
65* =====================================================================
66*
67* .. Parameters ..
68 INTEGER NMAX
69 parameter( nmax = 4 )
70* ..
71* .. Local Scalars ..
72 CHARACTER EQ
73 CHARACTER*2 C2
74 INTEGER I, INFO, J
75 REAL RCOND
76* ..
77* .. Local Arrays ..
78 INTEGER IP( NMAX )
79 REAL C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
80 $ RF( NMAX ), RW( NMAX )
81 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
82 $ E( NMAX ), W( 2*NMAX ), X( NMAX )
83* ..
84* .. External Functions ..
85 LOGICAL LSAMEN
86 EXTERNAL lsamen
87* ..
88* .. External Subroutines ..
89 EXTERNAL cgbsv, cgbsvx, cgesv, cgesvx, cgtsv, cgtsvx,
95* ..
96* .. Scalars in Common ..
97 LOGICAL LERR, OK
98 CHARACTER*32 SRNAMT
99 INTEGER INFOT, NOUT
100* ..
101* .. Common blocks ..
102 COMMON / infoc / infot, nout, ok, lerr
103 COMMON / srnamc / srnamt
104* ..
105* .. Intrinsic Functions ..
106 INTRINSIC cmplx, real
107* ..
108* .. Executable Statements ..
109*
110 nout = nunit
111 WRITE( nout, fmt = * )
112 c2 = path( 2: 3 )
113*
114* Set the variables to innocuous values.
115*
116 DO 20 j = 1, nmax
117 DO 10 i = 1, nmax
118 a( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
119 af( i, j ) = cmplx( 1. / real( i+j ), -1. / real( i+j ) )
120 10 CONTINUE
121 b( j ) = 0.e+0
122 e( j ) = 0.e+0
123 r1( j ) = 0.e+0
124 r2( j ) = 0.e+0
125 w( j ) = 0.e+0
126 x( j ) = 0.e+0
127 c( j ) = 0.e+0
128 r( j ) = 0.e+0
129 ip( j ) = j
130 20 CONTINUE
131 eq = ' '
132 ok = .true.
133*
134 IF( lsamen( 2, c2, 'GE' ) ) THEN
135*
136* CGESV
137*
138 srnamt = 'CGESV '
139 infot = 1
140 CALL cgesv( -1, 0, a, 1, ip, b, 1, info )
141 CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
142 infot = 2
143 CALL cgesv( 0, -1, a, 1, ip, b, 1, info )
144 CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
145 infot = 4
146 CALL cgesv( 2, 1, a, 1, ip, b, 2, info )
147 CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
148 infot = 7
149 CALL cgesv( 2, 1, a, 2, ip, b, 1, info )
150 CALL chkxer( 'CGESV ', infot, nout, lerr, ok )
151*
152* CGESVX
153*
154 srnamt = 'CGESVX'
155 infot = 1
156 CALL cgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
157 $ x, 1, rcond, r1, r2, w, rw, info )
158 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
159 infot = 2
160 CALL cgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
161 $ x, 1, rcond, r1, r2, w, rw, info )
162 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
163 infot = 3
164 CALL cgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
165 $ x, 1, rcond, r1, r2, w, rw, info )
166 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
167 infot = 4
168 CALL cgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
169 $ x, 1, rcond, r1, r2, w, rw, info )
170 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
171 infot = 6
172 CALL cgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
173 $ x, 2, rcond, r1, r2, w, rw, info )
174 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
175 infot = 8
176 CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
177 $ x, 2, rcond, r1, r2, w, rw, info )
178 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
179 infot = 10
180 eq = '/'
181 CALL cgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
182 $ x, 1, rcond, r1, r2, w, rw, info )
183 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
184 infot = 11
185 eq = 'R'
186 CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
187 $ x, 1, rcond, r1, r2, w, rw, info )
188 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
189 infot = 12
190 eq = 'C'
191 CALL cgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
192 $ x, 1, rcond, r1, r2, w, rw, info )
193 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
194 infot = 14
195 CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
196 $ x, 2, rcond, r1, r2, w, rw, info )
197 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
198 infot = 16
199 CALL cgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
200 $ x, 1, rcond, r1, r2, w, rw, info )
201 CALL chkxer( 'CGESVX', infot, nout, lerr, ok )
202*
203 ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
204*
205* CGBSV
206*
207 srnamt = 'CGBSV '
208 infot = 1
209 CALL cgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
211 infot = 2
212 CALL cgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
214 infot = 3
215 CALL cgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
217 infot = 4
218 CALL cgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
220 infot = 6
221 CALL cgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
223 infot = 9
224 CALL cgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225 CALL chkxer( 'CGBSV ', infot, nout, lerr, ok )
226*
227* CGBSVX
228*
229 srnamt = 'CGBSVX'
230 infot = 1
231 CALL cgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
232 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
233 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
234 infot = 2
235 CALL cgbsvx( 'N', '/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
236 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
237 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
238 infot = 3
239 CALL cgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
240 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
241 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
242 infot = 4
243 CALL cgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
244 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
245 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
246 infot = 5
247 CALL cgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
248 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
249 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
250 infot = 6
251 CALL cgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
252 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
253 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
254 infot = 8
255 CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
256 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
257 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
258 infot = 10
259 CALL cgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
260 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
261 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
262 infot = 12
263 eq = '/'
264 CALL cgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
265 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
266 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
267 infot = 13
268 eq = 'R'
269 CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
270 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
271 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
272 infot = 14
273 eq = 'C'
274 CALL cgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
275 $ b, 1, x, 1, rcond, r1, r2, w, rw, info )
276 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
277 infot = 16
278 CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
279 $ b, 1, x, 2, rcond, r1, r2, w, rw, info )
280 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
281 infot = 18
282 CALL cgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
283 $ b, 2, x, 1, rcond, r1, r2, w, rw, info )
284 CALL chkxer( 'CGBSVX', infot, nout, lerr, ok )
285*
286 ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
287*
288* CGTSV
289*
290 srnamt = 'CGTSV '
291 infot = 1
292 CALL cgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
293 $ info )
294 CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
295 infot = 2
296 CALL cgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297 $ info )
298 CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
299 infot = 7
300 CALL cgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
301 CALL chkxer( 'CGTSV ', infot, nout, lerr, ok )
302*
303* CGTSVX
304*
305 srnamt = 'CGTSVX'
306 infot = 1
307 CALL cgtsvx( '/', 'N', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
308 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
309 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
310 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
311 infot = 2
312 CALL cgtsvx( 'N', '/', 0, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
313 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
314 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
315 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
316 infot = 3
317 CALL cgtsvx( 'N', 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
318 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
319 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
320 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
321 infot = 4
322 CALL cgtsvx( 'N', 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
323 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
324 $ ip, b, 1, x, 1, rcond, r1, r2, w, rw, info )
325 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
326 infot = 14
327 CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
328 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
329 $ ip, b, 1, x, 2, rcond, r1, r2, w, rw, info )
330 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
331 infot = 16
332 CALL cgtsvx( 'N', 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ),
333 $ af( 1, 1 ), af( 1, 2 ), af( 1, 3 ), af( 1, 4 ),
334 $ ip, b, 2, x, 1, rcond, r1, r2, w, rw, info )
335 CALL chkxer( 'CGTSVX', infot, nout, lerr, ok )
336*
337 ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
338*
339* CPOSV
340*
341 srnamt = 'CPOSV '
342 infot = 1
343 CALL cposv( '/', 0, 0, a, 1, b, 1, info )
344 CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
345 infot = 2
346 CALL cposv( 'U', -1, 0, a, 1, b, 1, info )
347 CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
348 infot = 3
349 CALL cposv( 'U', 0, -1, a, 1, b, 1, info )
350 CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
351 infot = 5
352 CALL cposv( 'U', 2, 0, a, 1, b, 2, info )
353 CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
354 infot = 7
355 CALL cposv( 'U', 2, 0, a, 2, b, 1, info )
356 CALL chkxer( 'CPOSV ', infot, nout, lerr, ok )
357*
358* CPOSVX
359*
360 srnamt = 'CPOSVX'
361 infot = 1
362 CALL cposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
363 $ rcond, r1, r2, w, rw, info )
364 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
365 infot = 2
366 CALL cposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
367 $ rcond, r1, r2, w, rw, info )
368 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
369 infot = 3
370 CALL cposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
371 $ rcond, r1, r2, w, rw, info )
372 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
373 infot = 4
374 CALL cposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
375 $ rcond, r1, r2, w, rw, info )
376 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
377 infot = 6
378 CALL cposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
379 $ rcond, r1, r2, w, rw, info )
380 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
381 infot = 8
382 CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
383 $ rcond, r1, r2, w, rw, info )
384 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
385 infot = 9
386 eq = '/'
387 CALL cposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
388 $ rcond, r1, r2, w, rw, info )
389 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
390 infot = 10
391 eq = 'Y'
392 CALL cposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393 $ rcond, r1, r2, w, rw, info )
394 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
395 infot = 12
396 CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
397 $ rcond, r1, r2, w, rw, info )
398 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
399 infot = 14
400 CALL cposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
401 $ rcond, r1, r2, w, rw, info )
402 CALL chkxer( 'CPOSVX', infot, nout, lerr, ok )
403*
404 ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
405*
406* CPPSV
407*
408 srnamt = 'CPPSV '
409 infot = 1
410 CALL cppsv( '/', 0, 0, a, b, 1, info )
411 CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
412 infot = 2
413 CALL cppsv( 'U', -1, 0, a, b, 1, info )
414 CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
415 infot = 3
416 CALL cppsv( 'U', 0, -1, a, b, 1, info )
417 CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
418 infot = 6
419 CALL cppsv( 'U', 2, 0, a, b, 1, info )
420 CALL chkxer( 'CPPSV ', infot, nout, lerr, ok )
421*
422* CPPSVX
423*
424 srnamt = 'CPPSVX'
425 infot = 1
426 CALL cppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427 $ r1, r2, w, rw, info )
428 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
429 infot = 2
430 CALL cppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431 $ r1, r2, w, rw, info )
432 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
433 infot = 3
434 CALL cppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435 $ r1, r2, w, rw, info )
436 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
437 infot = 4
438 CALL cppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439 $ r1, r2, w, rw, info )
440 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
441 infot = 7
442 eq = '/'
443 CALL cppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444 $ r1, r2, w, rw, info )
445 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
446 infot = 8
447 eq = 'Y'
448 CALL cppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449 $ r1, r2, w, rw, info )
450 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
451 infot = 10
452 CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453 $ r1, r2, w, rw, info )
454 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
455 infot = 12
456 CALL cppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457 $ r1, r2, w, rw, info )
458 CALL chkxer( 'CPPSVX', infot, nout, lerr, ok )
459*
460 ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
461*
462* CPBSV
463*
464 srnamt = 'CPBSV '
465 infot = 1
466 CALL cpbsv( '/', 0, 0, 0, a, 1, b, 1, info )
467 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
468 infot = 2
469 CALL cpbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
470 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
471 infot = 3
472 CALL cpbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
473 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
474 infot = 4
475 CALL cpbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
476 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
477 infot = 6
478 CALL cpbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
479 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
480 infot = 8
481 CALL cpbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
482 CALL chkxer( 'CPBSV ', infot, nout, lerr, ok )
483*
484* CPBSVX
485*
486 srnamt = 'CPBSVX'
487 infot = 1
488 CALL cpbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489 $ rcond, r1, r2, w, rw, info )
490 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
491 infot = 2
492 CALL cpbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493 $ rcond, r1, r2, w, rw, info )
494 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
495 infot = 3
496 CALL cpbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
497 $ 1, rcond, r1, r2, w, rw, info )
498 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
499 infot = 4
500 CALL cpbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
501 $ 1, rcond, r1, r2, w, rw, info )
502 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
503 infot = 5
504 CALL cpbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
505 $ 1, rcond, r1, r2, w, rw, info )
506 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
507 infot = 7
508 CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
509 $ rcond, r1, r2, w, rw, info )
510 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
511 infot = 9
512 CALL cpbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
513 $ rcond, r1, r2, w, rw, info )
514 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
515 infot = 10
516 eq = '/'
517 CALL cpbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
518 $ rcond, r1, r2, w, rw, info )
519 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
520 infot = 11
521 eq = 'Y'
522 CALL cpbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523 $ rcond, r1, r2, w, rw, info )
524 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
525 infot = 13
526 CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
527 $ rcond, r1, r2, w, rw, info )
528 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
529 infot = 15
530 CALL cpbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
531 $ rcond, r1, r2, w, rw, info )
532 CALL chkxer( 'CPBSVX', infot, nout, lerr, ok )
533*
534 ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
535*
536* CPTSV
537*
538 srnamt = 'CPTSV '
539 infot = 1
540 CALL cptsv( -1, 0, r, a( 1, 1 ), b, 1, info )
541 CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
542 infot = 2
543 CALL cptsv( 0, -1, r, a( 1, 1 ), b, 1, info )
544 CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
545 infot = 6
546 CALL cptsv( 2, 0, r, a( 1, 1 ), b, 1, info )
547 CALL chkxer( 'CPTSV ', infot, nout, lerr, ok )
548*
549* CPTSVX
550*
551 srnamt = 'CPTSVX'
552 infot = 1
553 CALL cptsvx( '/', 0, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
554 $ 1, rcond, r1, r2, w, rw, info )
555 CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
556 infot = 2
557 CALL cptsvx( 'N', -1, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
558 $ 1, rcond, r1, r2, w, rw, info )
559 CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
560 infot = 3
561 CALL cptsvx( 'N', 0, -1, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
562 $ 1, rcond, r1, r2, w, rw, info )
563 CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
564 infot = 9
565 CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 1, x,
566 $ 2, rcond, r1, r2, w, rw, info )
567 CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
568 infot = 11
569 CALL cptsvx( 'N', 2, 0, r, a( 1, 1 ), rf, af( 1, 1 ), b, 2, x,
570 $ 1, rcond, r1, r2, w, rw, info )
571 CALL chkxer( 'CPTSVX', infot, nout, lerr, ok )
572*
573 ELSE IF( lsamen( 2, c2, 'HE' ) ) THEN
574*
575* CHESV
576*
577 srnamt = 'CHESV '
578 infot = 1
579 CALL chesv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
581 infot = 2
582 CALL chesv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
584 infot = 3
585 CALL chesv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
587 infot = 5
588 CALL chesv( 'U', 2, 0, a, 1, ip, b, 2, w, 1, info )
589 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
590 infot = 8
591 CALL chesv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
592 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
593 infot = 10
594 CALL chesv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
595 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
596 infot = 10
597 CALL chesv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
598 CALL chkxer( 'CHESV ', infot, nout, lerr, ok )
599*
600* CHESVX
601*
602 srnamt = 'CHESVX'
603 infot = 1
604 CALL chesvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
605 $ rcond, r1, r2, w, 1, rw, info )
606 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
607 infot = 2
608 CALL chesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
609 $ rcond, r1, r2, w, 1, rw, info )
610 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
611 infot = 3
612 CALL chesvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
613 $ rcond, r1, r2, w, 1, rw, info )
614 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
615 infot = 4
616 CALL chesvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
617 $ rcond, r1, r2, w, 1, rw, info )
618 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
619 infot = 6
620 CALL chesvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
621 $ rcond, r1, r2, w, 4, rw, info )
622 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
623 infot = 8
624 CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
625 $ rcond, r1, r2, w, 4, rw, info )
626 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
627 infot = 11
628 CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
629 $ rcond, r1, r2, w, 4, rw, info )
630 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
631 infot = 13
632 CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
633 $ rcond, r1, r2, w, 4, rw, info )
634 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
635 infot = 18
636 CALL chesvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
637 $ rcond, r1, r2, w, 3, rw, info )
638 CALL chkxer( 'CHESVX', infot, nout, lerr, ok )
639*
640 ELSE IF( lsamen( 2, c2, 'HR' ) ) THEN
641*
642* CHESV_ROOK
643*
644 srnamt = 'CHESV_ROOK'
645 infot = 1
646 CALL chesv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
647 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
648 infot = 2
649 CALL chesv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
650 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
651 infot = 3
652 CALL chesv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
653 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
654 infot = 8
655 CALL chesv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
656 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
657 infot = 10
658 CALL chesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
659 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
660 infot = 10
661 CALL chesv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
662 CALL chkxer( 'CHESV_ROOK', infot, nout, lerr, ok )
663*
664 ELSE IF( lsamen( 2, c2, 'HK' ) ) THEN
665*
666* CHESV_RK
667*
668* Test error exits of the driver that uses factorization
669* of a symmetric indefinite matrix with rook
670* (bounded Bunch-Kaufman) pivoting with the new storage
671* format for factors L ( or U) and D.
672*
673* L (or U) is stored in A, diagonal of D is stored on the
674* diagonal of A, subdiagonal of D is stored in a separate array E.
675*
676 srnamt = 'CHESV_RK'
677 infot = 1
678 CALL chesv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
679 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
680 infot = 2
681 CALL chesv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
682 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
683 infot = 3
684 CALL chesv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
685 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
686 infot = 5
687 CALL chesv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
688 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
689 infot = 9
690 CALL chesv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
691 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
692 infot = 11
693 CALL chesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
694 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
695 infot = 11
696 CALL chesv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
697 CALL chkxer( 'CHESV_RK', infot, nout, lerr, ok )
698*
699 ELSE IF( lsamen( 2, c2, 'HA' ) ) THEN
700*
701* CHESV_AASEN
702*
703 srnamt = 'CHESV_AA'
704 infot = 1
705 CALL chesv_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
706 CALL chkxer( 'CHESV_AA', infot, nout, lerr, ok )
707 infot = 2
708 CALL chesv_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
709 CALL chkxer( 'CHESV_AA', infot, nout, lerr, ok )
710 infot = 3
711 CALL chesv_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
712 CALL chkxer( 'CHESV_AA', infot, nout, lerr, ok )
713 infot = 8
714 CALL chesv_aa( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
715 CALL chkxer( 'CHESV_AA', infot, nout, lerr, ok )
716*
717 ELSE IF( lsamen( 2, c2, 'H2' ) ) THEN
718*
719* CHESV_AASEN_2STAGE
720*
721 srnamt = 'CHESV_AA_2STAGE'
722 infot = 1
723 CALL chesv_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
724 $ w, 1, info )
725 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
726 infot = 2
727 CALL chesv_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
728 $ w, 1, info )
729 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
730 infot = 3
731 CALL chesv_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
732 $ w, 1, info )
733 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
734 infot = 5
735 CALL chesv_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
736 $ w, 1, info )
737 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
738 infot = 11
739 CALL chesv_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
740 $ w, 1, info )
741 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
742 infot = 7
743 CALL chesv_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
744 $ w, 1, info )
745 CALL chkxer( 'CHESV_AA_2STAGE', infot, nout, lerr, ok )
746*
747 ELSE IF( lsamen( 2, c2, 'S2' ) ) THEN
748*
749* CSYSV_AASEN_2STAGE
750*
751 srnamt = 'CSYSV_AA_2STAGE'
752 infot = 1
753 CALL csysv_aa_2stage( '/', 0, 0, a, 1, a, 1, ip, ip, b, 1,
754 $ w, 1, info )
755 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
756 infot = 2
757 CALL csysv_aa_2stage( 'U', -1, 0, a, 1, a, 1, ip, ip, b, 1,
758 $ w, 1, info )
759 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
760 infot = 3
761 CALL csysv_aa_2stage( 'U', 0, -1, a, 1, a, 1, ip, ip, b, 1,
762 $ w, 1, info )
763 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
764 infot = 5
765 CALL csysv_aa_2stage( 'U', 2, 1, a, 1, a, 1, ip, ip, b, 1,
766 $ w, 1, info )
767 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
768 infot = 11
769 CALL csysv_aa_2stage( 'U', 2, 1, a, 2, a, 8, ip, ip, b, 1,
770 $ w, 1, info )
771 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
772 infot = 7
773 CALL csysv_aa_2stage( 'U', 2, 1, a, 2, a, 1, ip, ip, b, 2,
774 $ w, 1, info )
775 CALL chkxer( 'CSYSV_AA_2STAGE', infot, nout, lerr, ok )
776*
777 ELSE IF( lsamen( 2, c2, 'HP' ) ) THEN
778*
779* CHPSV
780*
781 srnamt = 'CHPSV '
782 infot = 1
783 CALL chpsv( '/', 0, 0, a, ip, b, 1, info )
784 CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
785 infot = 2
786 CALL chpsv( 'U', -1, 0, a, ip, b, 1, info )
787 CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
788 infot = 3
789 CALL chpsv( 'U', 0, -1, a, ip, b, 1, info )
790 CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
791 infot = 7
792 CALL chpsv( 'U', 2, 0, a, ip, b, 1, info )
793 CALL chkxer( 'CHPSV ', infot, nout, lerr, ok )
794*
795* CHPSVX
796*
797 srnamt = 'CHPSVX'
798 infot = 1
799 CALL chpsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
800 $ r2, w, rw, info )
801 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
802 infot = 2
803 CALL chpsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
804 $ r2, w, rw, info )
805 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
806 infot = 3
807 CALL chpsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
808 $ r2, w, rw, info )
809 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
810 infot = 4
811 CALL chpsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
812 $ r2, w, rw, info )
813 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
814 infot = 9
815 CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
816 $ r2, w, rw, info )
817 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
818 infot = 11
819 CALL chpsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
820 $ r2, w, rw, info )
821 CALL chkxer( 'CHPSVX', infot, nout, lerr, ok )
822*
823 ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
824*
825* CSYSV
826*
827 srnamt = 'CSYSV '
828 infot = 1
829 CALL csysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
830 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
831 infot = 2
832 CALL csysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
833 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
834 infot = 3
835 CALL csysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
836 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
837 infot = 8
838 CALL csysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
839 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
840 infot = 10
841 CALL csysv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
842 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
843 infot = 10
844 CALL csysv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
845 CALL chkxer( 'CSYSV ', infot, nout, lerr, ok )
846*
847* CSYSVX
848*
849 srnamt = 'CSYSVX'
850 infot = 1
851 CALL csysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
852 $ rcond, r1, r2, w, 1, rw, info )
853 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
854 infot = 2
855 CALL csysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
856 $ rcond, r1, r2, w, 1, rw, info )
857 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
858 infot = 3
859 CALL csysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
860 $ rcond, r1, r2, w, 1, rw, info )
861 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
862 infot = 4
863 CALL csysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
864 $ rcond, r1, r2, w, 1, rw, info )
865 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
866 infot = 6
867 CALL csysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
868 $ rcond, r1, r2, w, 4, rw, info )
869 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
870 infot = 8
871 CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
872 $ rcond, r1, r2, w, 4, rw, info )
873 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
874 infot = 11
875 CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
876 $ rcond, r1, r2, w, 4, rw, info )
877 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
878 infot = 13
879 CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
880 $ rcond, r1, r2, w, 4, rw, info )
881 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
882 infot = 18
883 CALL csysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
884 $ rcond, r1, r2, w, 3, rw, info )
885 CALL chkxer( 'CSYSVX', infot, nout, lerr, ok )
886*
887 ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
888*
889* CSYSV_ROOK
890*
891 srnamt = 'CSYSV_ROOK'
892 infot = 1
893 CALL csysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
894 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
895 infot = 2
896 CALL csysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
897 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
898 infot = 3
899 CALL csysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
900 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
901 infot = 8
902 CALL csysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
903 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
904 infot = 10
905 CALL csysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
906 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
907 infot = 10
908 CALL csysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
909 CALL chkxer( 'CSYSV_ROOK', infot, nout, lerr, ok )
910*
911 ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
912*
913* CSYSV_RK
914*
915* Test error exits of the driver that uses factorization
916* of a symmetric indefinite matrix with rook
917* (bounded Bunch-Kaufman) pivoting with the new storage
918* format for factors L ( or U) and D.
919*
920* L (or U) is stored in A, diagonal of D is stored on the
921* diagonal of A, subdiagonal of D is stored in a separate array E.
922*
923 srnamt = 'CSYSV_RK'
924 infot = 1
925 CALL csysv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
926 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
927 infot = 2
928 CALL csysv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
929 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
930 infot = 3
931 CALL csysv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
932 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
933 infot = 5
934 CALL csysv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
935 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
936 infot = 9
937 CALL csysv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
938 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
939 infot = 11
940 CALL csysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
941 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
942 infot = 11
943 CALL csysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
944 CALL chkxer( 'CSYSV_RK', infot, nout, lerr, ok )
945*
946 ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
947*
948* CSPSV
949*
950 srnamt = 'CSPSV '
951 infot = 1
952 CALL cspsv( '/', 0, 0, a, ip, b, 1, info )
953 CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
954 infot = 2
955 CALL cspsv( 'U', -1, 0, a, ip, b, 1, info )
956 CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
957 infot = 3
958 CALL cspsv( 'U', 0, -1, a, ip, b, 1, info )
959 CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
960 infot = 7
961 CALL cspsv( 'U', 2, 0, a, ip, b, 1, info )
962 CALL chkxer( 'CSPSV ', infot, nout, lerr, ok )
963*
964* CSPSVX
965*
966 srnamt = 'CSPSVX'
967 infot = 1
968 CALL cspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
969 $ r2, w, rw, info )
970 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
971 infot = 2
972 CALL cspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
973 $ r2, w, rw, info )
974 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
975 infot = 3
976 CALL cspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
977 $ r2, w, rw, info )
978 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
979 infot = 4
980 CALL cspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
981 $ r2, w, rw, info )
982 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
983 infot = 9
984 CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
985 $ r2, w, rw, info )
986 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
987 infot = 11
988 CALL cspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
989 $ r2, w, rw, info )
990 CALL chkxer( 'CSPSVX', infot, nout, lerr, ok )
991 END IF
992*
993* Print a summary line.
994*
995 IF( ok ) THEN
996 WRITE( nout, fmt = 9999 )path
997 ELSE
998 WRITE( nout, fmt = 9998 )path
999 END IF
1000*
1001 9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
1002 9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
1003 $ 'exits ***' )
1004*
1005 RETURN
1006*
1007* End of CERRVX
1008*
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3224
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
subroutine cgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGBSVX computes the solution to system of linear equations A * X = B for GB matrices
Definition: cgbsvx.f:370
subroutine cgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
CGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver)
Definition: cgbsv.f:162
subroutine cgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGESVX computes the solution to system of linear equations A * X = B for GE matrices
Definition: cgesvx.f:350
subroutine cgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver)
Definition: cgesv.f:122
subroutine cgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CGTSVX computes the solution to system of linear equations A * X = B for GT matrices
Definition: cgtsvx.f:294
subroutine cgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
CGTSV computes the solution to system of linear equations A * X = B for GT matrices
Definition: cgtsv.f:124
subroutine chesv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_AA computes the solution to system of linear equations A * X = B for HE matrices
Definition: chesv_aa.f:162
subroutine chesv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_RK computes the solution to system of linear equations A * X = B for SY matrices
Definition: chesv_rk.f:228
subroutine chesvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CHESVX computes the solution to system of linear equations A * X = B for HE matrices
Definition: chesvx.f:285
subroutine chesv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV_ROOK computes the solution to a system of linear equations A * X = B for HE matrices using the ...
Definition: chesv_rook.f:205
subroutine chesv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CHESV computes the solution to system of linear equations A * X = B for HE matrices
Definition: chesv.f:171
subroutine cpbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
CPBSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cpbsv.f:164
subroutine cppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cppsvx.f:311
subroutine cppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
CPPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cppsv.f:144
subroutine cspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cspsvx.f:277
subroutine chpsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CHPSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: chpsvx.f:277
subroutine cspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CSPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cspsv.f:162
subroutine cpbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: cpbsvx.f:342
subroutine chpsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
CHPSV computes the solution to system of linear equations A * X = B for OTHER matrices
Definition: chpsv.f:162
subroutine cposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPOSVX computes the solution to system of linear equations A * X = B for PO matrices
Definition: cposvx.f:306
subroutine cposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
CPOSV computes the solution to system of linear equations A * X = B for PO matrices
Definition: cposv.f:130
subroutine cptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, RWORK, INFO)
CPTSVX computes the solution to system of linear equations A * X = B for PT matrices
Definition: cptsvx.f:234
subroutine cptsv(N, NRHS, D, E, B, LDB, INFO)
CPTSV computes the solution to system of linear equations A * X = B for PT matrices
Definition: cptsv.f:115
subroutine csysv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
CSYSV_AA_2STAGE computes the solution to system of linear equations A * X = B for SY matrices
subroutine chesv_aa_2stage(UPLO, N, NRHS, A, LDA, TB, LTB, IPIV, IPIV2, B, LDB, WORK, LWORK, INFO)
CHESV_AA_2STAGE computes the solution to system of linear equations A * X = B for HE matrices
subroutine csysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices
Definition: csysv_rk.f:228
subroutine csysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV computes the solution to system of linear equations A * X = B for SY matrices
Definition: csysv.f:171
subroutine csysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices
Definition: csysv_rook.f:204
subroutine csysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, RWORK, INFO)
CSYSVX computes the solution to system of linear equations A * X = B for SY matrices
Definition: csysvx.f:285
subroutine csysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
CSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices
Definition: csysv_aa.f:162
Here is the call graph for this function:
Here is the caller graph for this function: