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