LAPACK  3.9.0
LAPACK: Linear Algebra PACKage

◆ 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.
Date
November 2017
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.
Date
December 2016

Definition at line 57 of file cerrvx.f.

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