LAPACK  3.7.0
LAPACK: Linear Algebra PACKage
subroutine serrvx ( character*3  PATH,
integer  NUNIT 
)

SERRVX

SERRVXX

Purpose:
 SERRVX tests the error exits for the REAL 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 serrvx.f.

57 *
58 * -- LAPACK test routine (version 3.7.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 * December 2016
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 ), iw( nmax )
82  REAL a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
83  $ c( nmax ), e( nmax ), r( nmax ), r1( nmax ),
84  $ r2( nmax ), w( 2*nmax ), x( nmax )
85 * ..
86 * .. External Functions ..
87  LOGICAL lsamen
88  EXTERNAL lsamen
89 * ..
90 * .. External Subroutines ..
91  EXTERNAL chkxer, sgbsv, sgbsvx, sgesv, sgesvx, sgtsv,
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 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 ) = 1. / REAL( i+j )
119  af( 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 * SGESV
137 *
138  srnamt = 'SGESV '
139  infot = 1
140  CALL sgesv( -1, 0, a, 1, ip, b, 1, info )
141  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
142  infot = 2
143  CALL sgesv( 0, -1, a, 1, ip, b, 1, info )
144  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
145  infot = 4
146  CALL sgesv( 2, 1, a, 1, ip, b, 2, info )
147  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
148  infot = 7
149  CALL sgesv( 2, 1, a, 2, ip, b, 1, info )
150  CALL chkxer( 'SGESV ', infot, nout, lerr, ok )
151 *
152 * SGESVX
153 *
154  srnamt = 'SGESVX'
155  infot = 1
156  CALL sgesvx( '/', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
157  $ x, 1, rcond, r1, r2, w, iw, info )
158  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
159  infot = 2
160  CALL sgesvx( 'N', '/', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
161  $ x, 1, rcond, r1, r2, w, iw, info )
162  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
163  infot = 3
164  CALL sgesvx( 'N', 'N', -1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
165  $ x, 1, rcond, r1, r2, w, iw, info )
166  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
167  infot = 4
168  CALL sgesvx( 'N', 'N', 0, -1, a, 1, af, 1, ip, eq, r, c, b, 1,
169  $ x, 1, rcond, r1, r2, w, iw, info )
170  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
171  infot = 6
172  CALL sgesvx( 'N', 'N', 2, 1, a, 1, af, 2, ip, eq, r, c, b, 2,
173  $ x, 2, rcond, r1, r2, w, iw, info )
174  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
175  infot = 8
176  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 1, ip, eq, r, c, b, 2,
177  $ x, 2, rcond, r1, r2, w, iw, info )
178  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
179  infot = 10
180  eq = '/'
181  CALL sgesvx( 'F', 'N', 0, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
182  $ x, 1, rcond, r1, r2, w, iw, info )
183  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
184  infot = 11
185  eq = 'R'
186  CALL sgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
187  $ x, 1, rcond, r1, r2, w, iw, info )
188  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
189  infot = 12
190  eq = 'C'
191  CALL sgesvx( 'F', 'N', 1, 0, a, 1, af, 1, ip, eq, r, c, b, 1,
192  $ x, 1, rcond, r1, r2, w, iw, info )
193  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
194  infot = 14
195  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 1,
196  $ x, 2, rcond, r1, r2, w, iw, info )
197  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
198  infot = 16
199  CALL sgesvx( 'N', 'N', 2, 1, a, 2, af, 2, ip, eq, r, c, b, 2,
200  $ x, 1, rcond, r1, r2, w, iw, info )
201  CALL chkxer( 'SGESVX', infot, nout, lerr, ok )
202 *
203  ELSE IF( lsamen( 2, c2, 'GB' ) ) THEN
204 *
205 * SGBSV
206 *
207  srnamt = 'SGBSV '
208  infot = 1
209  CALL sgbsv( -1, 0, 0, 0, a, 1, ip, b, 1, info )
210  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
211  infot = 2
212  CALL sgbsv( 1, -1, 0, 0, a, 1, ip, b, 1, info )
213  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
214  infot = 3
215  CALL sgbsv( 1, 0, -1, 0, a, 1, ip, b, 1, info )
216  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
217  infot = 4
218  CALL sgbsv( 0, 0, 0, -1, a, 1, ip, b, 1, info )
219  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
220  infot = 6
221  CALL sgbsv( 1, 1, 1, 0, a, 3, ip, b, 1, info )
222  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
223  infot = 9
224  CALL sgbsv( 2, 0, 0, 0, a, 1, ip, b, 1, info )
225  CALL chkxer( 'SGBSV ', infot, nout, lerr, ok )
226 *
227 * SGBSVX
228 *
229  srnamt = 'SGBSVX'
230  infot = 1
231  CALL sgbsvx( '/', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
232  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
233  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
234  infot = 2
235  CALL sgbsvx( 'N', '/', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
236  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
237  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
238  infot = 3
239  CALL sgbsvx( 'N', 'N', -1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
240  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
241  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
242  infot = 4
243  CALL sgbsvx( 'N', 'N', 1, -1, 0, 0, a, 1, af, 1, ip, eq, r, c,
244  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
245  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
246  infot = 5
247  CALL sgbsvx( 'N', 'N', 1, 0, -1, 0, a, 1, af, 1, ip, eq, r, c,
248  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
249  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
250  infot = 6
251  CALL sgbsvx( 'N', 'N', 0, 0, 0, -1, a, 1, af, 1, ip, eq, r, c,
252  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
253  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
254  infot = 8
255  CALL sgbsvx( 'N', 'N', 1, 1, 1, 0, a, 2, af, 4, ip, eq, r, c,
256  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
257  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
258  infot = 10
259  CALL sgbsvx( 'N', 'N', 1, 1, 1, 0, a, 3, af, 3, ip, eq, r, c,
260  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
261  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
262  infot = 12
263  eq = '/'
264  CALL sgbsvx( 'F', 'N', 0, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
265  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
266  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
267  infot = 13
268  eq = 'R'
269  CALL sgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
270  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
271  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
272  infot = 14
273  eq = 'C'
274  CALL sgbsvx( 'F', 'N', 1, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
275  $ b, 1, x, 1, rcond, r1, r2, w, iw, info )
276  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
277  infot = 16
278  CALL sgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
279  $ b, 1, x, 2, rcond, r1, r2, w, iw, info )
280  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
281  infot = 18
282  CALL sgbsvx( 'N', 'N', 2, 0, 0, 0, a, 1, af, 1, ip, eq, r, c,
283  $ b, 2, x, 1, rcond, r1, r2, w, iw, info )
284  CALL chkxer( 'SGBSVX', infot, nout, lerr, ok )
285 *
286  ELSE IF( lsamen( 2, c2, 'GT' ) ) THEN
287 *
288 * SGTSV
289 *
290  srnamt = 'SGTSV '
291  infot = 1
292  CALL sgtsv( -1, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
293  $ info )
294  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
295  infot = 2
296  CALL sgtsv( 0, -1, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1,
297  $ info )
298  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
299  infot = 7
300  CALL sgtsv( 2, 0, a( 1, 1 ), a( 1, 2 ), a( 1, 3 ), b, 1, info )
301  CALL chkxer( 'SGTSV ', infot, nout, lerr, ok )
302 *
303 * SGTSVX
304 *
305  srnamt = 'SGTSVX'
306  infot = 1
307  CALL sgtsvx( '/', '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, iw, info )
310  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
311  infot = 2
312  CALL sgtsvx( '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, iw, info )
315  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
316  infot = 3
317  CALL sgtsvx( '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, iw, info )
320  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
321  infot = 4
322  CALL sgtsvx( '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, iw, info )
325  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
326  infot = 14
327  CALL sgtsvx( '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, iw, info )
330  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
331  infot = 16
332  CALL sgtsvx( '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, iw, info )
335  CALL chkxer( 'SGTSVX', infot, nout, lerr, ok )
336 *
337  ELSE IF( lsamen( 2, c2, 'PO' ) ) THEN
338 *
339 * SPOSV
340 *
341  srnamt = 'SPOSV '
342  infot = 1
343  CALL sposv( '/', 0, 0, a, 1, b, 1, info )
344  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
345  infot = 2
346  CALL sposv( 'U', -1, 0, a, 1, b, 1, info )
347  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
348  infot = 3
349  CALL sposv( 'U', 0, -1, a, 1, b, 1, info )
350  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
351  infot = 5
352  CALL sposv( 'U', 2, 0, a, 1, b, 2, info )
353  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
354  infot = 7
355  CALL sposv( 'U', 2, 0, a, 2, b, 1, info )
356  CALL chkxer( 'SPOSV ', infot, nout, lerr, ok )
357 *
358 * SPOSVX
359 *
360  srnamt = 'SPOSVX'
361  infot = 1
362  CALL sposvx( '/', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
363  $ rcond, r1, r2, w, iw, info )
364  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
365  infot = 2
366  CALL sposvx( 'N', '/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
367  $ rcond, r1, r2, w, iw, info )
368  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
369  infot = 3
370  CALL sposvx( 'N', 'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
371  $ rcond, r1, r2, w, iw, info )
372  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
373  infot = 4
374  CALL sposvx( 'N', 'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
375  $ rcond, r1, r2, w, iw, info )
376  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
377  infot = 6
378  CALL sposvx( 'N', 'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
379  $ rcond, r1, r2, w, iw, info )
380  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
381  infot = 8
382  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
383  $ rcond, r1, r2, w, iw, info )
384  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
385  infot = 9
386  eq = '/'
387  CALL sposvx( 'F', 'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
388  $ rcond, r1, r2, w, iw, info )
389  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
390  infot = 10
391  eq = 'Y'
392  CALL sposvx( 'F', 'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
393  $ rcond, r1, r2, w, iw, info )
394  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
395  infot = 12
396  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
397  $ rcond, r1, r2, w, iw, info )
398  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
399  infot = 14
400  CALL sposvx( 'N', 'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
401  $ rcond, r1, r2, w, iw, info )
402  CALL chkxer( 'SPOSVX', infot, nout, lerr, ok )
403 *
404  ELSE IF( lsamen( 2, c2, 'PP' ) ) THEN
405 *
406 * SPPSV
407 *
408  srnamt = 'SPPSV '
409  infot = 1
410  CALL sppsv( '/', 0, 0, a, b, 1, info )
411  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
412  infot = 2
413  CALL sppsv( 'U', -1, 0, a, b, 1, info )
414  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
415  infot = 3
416  CALL sppsv( 'U', 0, -1, a, b, 1, info )
417  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
418  infot = 6
419  CALL sppsv( 'U', 2, 0, a, b, 1, info )
420  CALL chkxer( 'SPPSV ', infot, nout, lerr, ok )
421 *
422 * SPPSVX
423 *
424  srnamt = 'SPPSVX'
425  infot = 1
426  CALL sppsvx( '/', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
427  $ r1, r2, w, iw, info )
428  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
429  infot = 2
430  CALL sppsvx( 'N', '/', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
431  $ r1, r2, w, iw, info )
432  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
433  infot = 3
434  CALL sppsvx( 'N', 'U', -1, 0, a, af, eq, c, b, 1, x, 1, rcond,
435  $ r1, r2, w, iw, info )
436  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
437  infot = 4
438  CALL sppsvx( 'N', 'U', 0, -1, a, af, eq, c, b, 1, x, 1, rcond,
439  $ r1, r2, w, iw, info )
440  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
441  infot = 7
442  eq = '/'
443  CALL sppsvx( 'F', 'U', 0, 0, a, af, eq, c, b, 1, x, 1, rcond,
444  $ r1, r2, w, iw, info )
445  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
446  infot = 8
447  eq = 'Y'
448  CALL sppsvx( 'F', 'U', 1, 0, a, af, eq, c, b, 1, x, 1, rcond,
449  $ r1, r2, w, iw, info )
450  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
451  infot = 10
452  CALL sppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 1, x, 2, rcond,
453  $ r1, r2, w, iw, info )
454  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
455  infot = 12
456  CALL sppsvx( 'N', 'U', 2, 0, a, af, eq, c, b, 2, x, 1, rcond,
457  $ r1, r2, w, iw, info )
458  CALL chkxer( 'SPPSVX', infot, nout, lerr, ok )
459 *
460  ELSE IF( lsamen( 2, c2, 'PB' ) ) THEN
461 *
462 * SPBSV
463 *
464  srnamt = 'SPBSV '
465  infot = 1
466  CALL spbsv( '/', 0, 0, 0, a, 1, b, 1, info )
467  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
468  infot = 2
469  CALL spbsv( 'U', -1, 0, 0, a, 1, b, 1, info )
470  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
471  infot = 3
472  CALL spbsv( 'U', 1, -1, 0, a, 1, b, 1, info )
473  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
474  infot = 4
475  CALL spbsv( 'U', 0, 0, -1, a, 1, b, 1, info )
476  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
477  infot = 6
478  CALL spbsv( 'U', 1, 1, 0, a, 1, b, 2, info )
479  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
480  infot = 8
481  CALL spbsv( 'U', 2, 0, 0, a, 1, b, 1, info )
482  CALL chkxer( 'SPBSV ', infot, nout, lerr, ok )
483 *
484 * SPBSVX
485 *
486  srnamt = 'SPBSVX'
487  infot = 1
488  CALL spbsvx( '/', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
489  $ rcond, r1, r2, w, iw, info )
490  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
491  infot = 2
492  CALL spbsvx( 'N', '/', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
493  $ rcond, r1, r2, w, iw, info )
494  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
495  infot = 3
496  CALL spbsvx( 'N', 'U', -1, 0, 0, a, 1, af, 1, eq, c, b, 1, x,
497  $ 1, rcond, r1, r2, w, iw, info )
498  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
499  infot = 4
500  CALL spbsvx( 'N', 'U', 1, -1, 0, a, 1, af, 1, eq, c, b, 1, x,
501  $ 1, rcond, r1, r2, w, iw, info )
502  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
503  infot = 5
504  CALL spbsvx( 'N', 'U', 0, 0, -1, a, 1, af, 1, eq, c, b, 1, x,
505  $ 1, rcond, r1, r2, w, iw, info )
506  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
507  infot = 7
508  CALL spbsvx( 'N', 'U', 1, 1, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
509  $ rcond, r1, r2, w, iw, info )
510  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
511  infot = 9
512  CALL spbsvx( 'N', 'U', 1, 1, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
513  $ rcond, r1, r2, w, iw, info )
514  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
515  infot = 10
516  eq = '/'
517  CALL spbsvx( 'F', 'U', 0, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
518  $ rcond, r1, r2, w, iw, info )
519  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
520  infot = 11
521  eq = 'Y'
522  CALL spbsvx( 'F', 'U', 1, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
523  $ rcond, r1, r2, w, iw, info )
524  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
525  infot = 13
526  CALL spbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 1, x, 2,
527  $ rcond, r1, r2, w, iw, info )
528  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
529  infot = 15
530  CALL spbsvx( 'N', 'U', 2, 0, 0, a, 1, af, 1, eq, c, b, 2, x, 1,
531  $ rcond, r1, r2, w, iw, info )
532  CALL chkxer( 'SPBSVX', infot, nout, lerr, ok )
533 *
534  ELSE IF( lsamen( 2, c2, 'PT' ) ) THEN
535 *
536 * SPTSV
537 *
538  srnamt = 'SPTSV '
539  infot = 1
540  CALL sptsv( -1, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
541  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
542  infot = 2
543  CALL sptsv( 0, -1, a( 1, 1 ), a( 1, 2 ), b, 1, info )
544  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
545  infot = 6
546  CALL sptsv( 2, 0, a( 1, 1 ), a( 1, 2 ), b, 1, info )
547  CALL chkxer( 'SPTSV ', infot, nout, lerr, ok )
548 *
549 * SPTSVX
550 *
551  srnamt = 'SPTSVX'
552  infot = 1
553  CALL sptsvx( '/', 0, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
554  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
555  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
556  infot = 2
557  CALL sptsvx( 'N', -1, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
558  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
559  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
560  infot = 3
561  CALL sptsvx( 'N', 0, -1, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
562  $ af( 1, 2 ), b, 1, x, 1, rcond, r1, r2, w, info )
563  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
564  infot = 9
565  CALL sptsvx( 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
566  $ af( 1, 2 ), b, 1, x, 2, rcond, r1, r2, w, info )
567  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
568  infot = 11
569  CALL sptsvx( 'N', 2, 0, a( 1, 1 ), a( 1, 2 ), af( 1, 1 ),
570  $ af( 1, 2 ), b, 2, x, 1, rcond, r1, r2, w, info )
571  CALL chkxer( 'SPTSVX', infot, nout, lerr, ok )
572 *
573  ELSE IF( lsamen( 2, c2, 'SY' ) ) THEN
574 *
575 * SSYSV
576 *
577  srnamt = 'SSYSV '
578  infot = 1
579  CALL ssysv( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
580  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
581  infot = 2
582  CALL ssysv( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
583  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
584  infot = 3
585  CALL ssysv( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
586  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
587  infot = 8
588  CALL ssysv( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
589  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
590  infot = 10
591  CALL ssysv( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
592  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
593  infot = 10
594  CALL ssysv( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
595  CALL chkxer( 'SSYSV ', infot, nout, lerr, ok )
596 *
597 * SSYSVX
598 *
599  srnamt = 'SSYSVX'
600  infot = 1
601  CALL ssysvx( '/', 'U', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
602  $ rcond, r1, r2, w, 1, iw, info )
603  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
604  infot = 2
605  CALL ssysvx( 'N', '/', 0, 0, a, 1, af, 1, ip, b, 1, x, 1,
606  $ rcond, r1, r2, w, 1, iw, info )
607  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
608  infot = 3
609  CALL ssysvx( 'N', 'U', -1, 0, a, 1, af, 1, ip, b, 1, x, 1,
610  $ rcond, r1, r2, w, 1, iw, info )
611  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
612  infot = 4
613  CALL ssysvx( 'N', 'U', 0, -1, a, 1, af, 1, ip, b, 1, x, 1,
614  $ rcond, r1, r2, w, 1, iw, info )
615  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
616  infot = 6
617  CALL ssysvx( 'N', 'U', 2, 0, a, 1, af, 2, ip, b, 2, x, 2,
618  $ rcond, r1, r2, w, 4, iw, info )
619  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
620  infot = 8
621  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 1, ip, b, 2, x, 2,
622  $ rcond, r1, r2, w, 4, iw, info )
623  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
624  infot = 11
625  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 1, x, 2,
626  $ rcond, r1, r2, w, 4, iw, info )
627  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
628  infot = 13
629  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 1,
630  $ rcond, r1, r2, w, 4, iw, info )
631  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
632  infot = 18
633  CALL ssysvx( 'N', 'U', 2, 0, a, 2, af, 2, ip, b, 2, x, 2,
634  $ rcond, r1, r2, w, 3, iw, info )
635  CALL chkxer( 'SSYSVX', infot, nout, lerr, ok )
636 *
637 *
638  ELSE IF( lsamen( 2, c2, 'SR' ) ) THEN
639 *
640 * SSYSV_ROOK
641 *
642  srnamt = 'SSYSV_ROOK'
643  infot = 1
644  CALL ssysv_rook( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
645  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
646  infot = 2
647  CALL ssysv_rook( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
648  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
649  infot = 3
650  CALL ssysv_rook( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
651  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
652  infot = 8
653  CALL ssysv_rook( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
654  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
655  infot = 10
656  CALL ssysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, 0, info )
657  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
658  infot = 10
659  CALL ssysv_rook( 'U', 0, 0, a, 1, ip, b, 1, w, -2, info )
660  CALL chkxer( 'SSYSV_ROOK', infot, nout, lerr, ok )
661 *
662  ELSE IF( lsamen( 2, c2, 'SK' ) ) THEN
663 *
664 * SSYSV_RK
665 *
666 * Test error exits of the driver that uses factorization
667 * of a symmetric indefinite matrix with rook
668 * (bounded Bunch-Kaufman) pivoting with the new storage
669 * format for factors L ( or U) and D.
670 *
671 * L (or U) is stored in A, diagonal of D is stored on the
672 * diagonal of A, subdiagonal of D is stored in a separate array E.
673 *
674  srnamt = 'SSYSV_RK'
675  infot = 1
676  CALL ssysv_rk( '/', 0, 0, a, 1, e, ip, b, 1, w, 1, info )
677  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
678  infot = 2
679  CALL ssysv_rk( 'U', -1, 0, a, 1, e, ip, b, 1, w, 1, info )
680  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
681  infot = 3
682  CALL ssysv_rk( 'U', 0, -1, a, 1, e, ip, b, 1, w, 1, info )
683  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
684  infot = 5
685  CALL ssysv_rk( 'U', 2, 0, a, 1, e, ip, b, 2, w, 1, info )
686  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
687  infot = 9
688  CALL ssysv_rk( 'U', 2, 0, a, 2, e, ip, b, 1, w, 1, info )
689  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
690  infot = 11
691  CALL ssysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, 0, info )
692  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
693  infot = 11
694  CALL ssysv_rk( 'U', 0, 0, a, 1, e, ip, b, 1, w, -2, info )
695  CALL chkxer( 'SSYSV_RK', infot, nout, lerr, ok )
696 *
697  ELSE IF( lsamen( 2, c2, 'SA' ) ) THEN
698 *
699 * SSYSV_AA
700 *
701  srnamt = 'SSYSV_AA'
702  infot = 1
703  CALL ssysv_aa( '/', 0, 0, a, 1, ip, b, 1, w, 1, info )
704  CALL chkxer( 'SSYSV_AA', infot, nout, lerr, ok )
705  infot = 2
706  CALL ssysv_aa( 'U', -1, 0, a, 1, ip, b, 1, w, 1, info )
707  CALL chkxer( 'SSYSV_AA', infot, nout, lerr, ok )
708  infot = 3
709  CALL ssysv_aa( 'U', 0, -1, a, 1, ip, b, 1, w, 1, info )
710  CALL chkxer( 'SSYSV_AA', infot, nout, lerr, ok )
711  infot = 8
712  CALL ssysv_aa( 'U', 2, 0, a, 2, ip, b, 1, w, 1, info )
713  CALL chkxer( 'SSYSV_AA', infot, nout, lerr, ok )
714 *
715  ELSE IF( lsamen( 2, c2, 'SP' ) ) THEN
716 *
717 * SSPSV
718 *
719  srnamt = 'SSPSV '
720  infot = 1
721  CALL sspsv( '/', 0, 0, a, ip, b, 1, info )
722  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
723  infot = 2
724  CALL sspsv( 'U', -1, 0, a, ip, b, 1, info )
725  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
726  infot = 3
727  CALL sspsv( 'U', 0, -1, a, ip, b, 1, info )
728  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
729  infot = 7
730  CALL sspsv( 'U', 2, 0, a, ip, b, 1, info )
731  CALL chkxer( 'SSPSV ', infot, nout, lerr, ok )
732 *
733 * SSPSVX
734 *
735  srnamt = 'SSPSVX'
736  infot = 1
737  CALL sspsvx( '/', 'U', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
738  $ r2, w, iw, info )
739  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
740  infot = 2
741  CALL sspsvx( 'N', '/', 0, 0, a, af, ip, b, 1, x, 1, rcond, r1,
742  $ r2, w, iw, info )
743  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
744  infot = 3
745  CALL sspsvx( 'N', 'U', -1, 0, a, af, ip, b, 1, x, 1, rcond, r1,
746  $ r2, w, iw, info )
747  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
748  infot = 4
749  CALL sspsvx( 'N', 'U', 0, -1, a, af, ip, b, 1, x, 1, rcond, r1,
750  $ r2, w, iw, info )
751  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
752  infot = 9
753  CALL sspsvx( 'N', 'U', 2, 0, a, af, ip, b, 1, x, 2, rcond, r1,
754  $ r2, w, iw, info )
755  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
756  infot = 11
757  CALL sspsvx( 'N', 'U', 2, 0, a, af, ip, b, 2, x, 1, rcond, r1,
758  $ r2, w, iw, info )
759  CALL chkxer( 'SSPSVX', infot, nout, lerr, ok )
760  END IF
761 *
762 * Print a summary line.
763 *
764  IF( ok ) THEN
765  WRITE( nout, fmt = 9999 )path
766  ELSE
767  WRITE( nout, fmt = 9998 )path
768  END IF
769 *
770  9999 FORMAT( 1x, a3, ' drivers passed the tests of the error exits' )
771  9998 FORMAT( ' *** ', a3, ' drivers failed the tests of the error ',
772  $ 'exits ***' )
773 *
774  RETURN
775 *
776 * End of SERRVX
777 *
subroutine sspsv(UPLO, N, NRHS, AP, IPIV, B, LDB, INFO)
SSPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sspsv.f:164
subroutine sgesv(N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SGESV computes the solution to system of linear equations A * X = B for GE matrices (simple driver) ...
Definition: sgesv.f:124
subroutine sgbsv(N, KL, KU, NRHS, AB, LDAB, IPIV, B, LDB, INFO)
SGBSV computes the solution to system of linear equations A * X = B for GB matrices (simple driver) ...
Definition: sgbsv.f:164
subroutine sgbsvx(FACT, TRANS, N, KL, KU, NRHS, AB, LDAB, AFB, LDAFB, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGBSVX computes the solution to system of linear equations A * X = B for GB matrices ...
Definition: sgbsvx.f:370
subroutine ssysvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, LWORK, IWORK, INFO)
SSYSVX computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysvx.f:286
subroutine spbsv(UPLO, N, KD, NRHS, AB, LDAB, B, LDB, INFO)
SPBSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: spbsv.f:166
subroutine sptsv(N, NRHS, D, E, B, LDB, INFO)
SPTSV computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: sptsv.f:116
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
subroutine sgesvx(FACT, TRANS, N, NRHS, A, LDA, AF, LDAF, IPIV, EQUED, R, C, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGESVX computes the solution to system of linear equations A * X = B for GE matrices ...
Definition: sgesvx.f:351
subroutine sspsvx(FACT, UPLO, N, NRHS, AP, AFP, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SSPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sspsvx.f:279
subroutine sptsvx(FACT, N, NRHS, D, E, DF, EF, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, INFO)
SPTSVX computes the solution to system of linear equations A * X = B for PT matrices ...
Definition: sptsvx.f:230
subroutine sppsv(UPLO, N, NRHS, AP, B, LDB, INFO)
SPPSV computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sppsv.f:146
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:76
subroutine sposv(UPLO, N, NRHS, A, LDA, B, LDB, INFO)
SPOSV computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: sposv.f:132
subroutine sppsvx(FACT, UPLO, N, NRHS, AP, AFP, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPPSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: sppsvx.f:314
subroutine ssysv_aa(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_AA computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv_aa.f:164
subroutine ssysv_rk(UPLO, N, NRHS, A, LDA, E, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_RK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv_rk.f:230
subroutine ssysv_rook(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV_ROOK computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv_rook.f:206
subroutine ssysv(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, LWORK, INFO)
SSYSV computes the solution to system of linear equations A * X = B for SY matrices ...
Definition: ssysv.f:173
subroutine spbsvx(FACT, UPLO, N, KD, NRHS, AB, LDAB, AFB, LDAFB, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPBSVX computes the solution to system of linear equations A * X = B for OTHER matrices ...
Definition: spbsvx.f:345
subroutine sgtsvx(FACT, TRANS, N, NRHS, DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SGTSVX computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: sgtsvx.f:295
subroutine sposvx(FACT, UPLO, N, NRHS, A, LDA, AF, LDAF, EQUED, S, B, LDB, X, LDX, RCOND, FERR, BERR, WORK, IWORK, INFO)
SPOSVX computes the solution to system of linear equations A * X = B for PO matrices ...
Definition: sposvx.f:309
subroutine sgtsv(N, NRHS, DL, D, DU, B, LDB, INFO)
SGTSV computes the solution to system of linear equations A * X = B for GT matrices ...
Definition: sgtsv.f:129

Here is the call graph for this function:

Here is the caller graph for this function: