00001 SUBROUTINE SERRVX( PATH, NUNIT )
00002
00003
00004
00005
00006
00007
00008 CHARACTER*3 PATH
00009 INTEGER NUNIT
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 INTEGER NMAX
00031 PARAMETER ( NMAX = 4 )
00032
00033
00034 CHARACTER EQ
00035 CHARACTER*2 C2
00036 INTEGER I, INFO, J
00037 REAL RCOND
00038
00039
00040 INTEGER IP( NMAX ), IW( NMAX )
00041 REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
00042 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
00043 $ W( 2*NMAX ), X( NMAX )
00044
00045
00046 LOGICAL LSAMEN
00047 EXTERNAL LSAMEN
00048
00049
00050 EXTERNAL CHKXER, SGBSV, SGBSVX, SGESV, SGESVX, SGTSV,
00051 $ SGTSVX, SPBSV, SPBSVX, SPOSV, SPOSVX, SPPSV,
00052 $ SPPSVX, SPTSV, SPTSVX, SSPSV, SSPSVX, SSYSV,
00053 $ SSYSVX
00054
00055
00056 LOGICAL LERR, OK
00057 CHARACTER*32 SRNAMT
00058 INTEGER INFOT, NOUT
00059
00060
00061 COMMON / INFOC / INFOT, NOUT, OK, LERR
00062 COMMON / SRNAMC / SRNAMT
00063
00064
00065 INTRINSIC REAL
00066
00067
00068
00069 NOUT = NUNIT
00070 WRITE( NOUT, FMT = * )
00071 C2 = PATH( 2: 3 )
00072
00073
00074
00075 DO 20 J = 1, NMAX
00076 DO 10 I = 1, NMAX
00077 A( I, J ) = 1. / REAL( I+J )
00078 AF( I, J ) = 1. / REAL( I+J )
00079 10 CONTINUE
00080 B( J ) = 0.
00081 R1( J ) = 0.
00082 R2( J ) = 0.
00083 W( J ) = 0.
00084 X( J ) = 0.
00085 C( J ) = 0.
00086 R( J ) = 0.
00087 IP( J ) = J
00088 20 CONTINUE
00089 EQ = ' '
00090 OK = .TRUE.
00091
00092 IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00093
00094
00095
00096 SRNAMT = 'SGESV '
00097 INFOT = 1
00098 CALL SGESV( -1, 0, A, 1, IP, B, 1, INFO )
00099 CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00100 INFOT = 2
00101 CALL SGESV( 0, -1, A, 1, IP, B, 1, INFO )
00102 CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00103 INFOT = 4
00104 CALL SGESV( 2, 1, A, 1, IP, B, 2, INFO )
00105 CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00106 INFOT = 7
00107 CALL SGESV( 2, 1, A, 2, IP, B, 1, INFO )
00108 CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00109
00110
00111
00112 SRNAMT = 'SGESVX'
00113 INFOT = 1
00114 CALL SGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00115 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00116 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00117 INFOT = 2
00118 CALL SGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00119 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00120 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00121 INFOT = 3
00122 CALL SGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00123 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00124 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00125 INFOT = 4
00126 CALL SGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00127 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00128 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00129 INFOT = 6
00130 CALL SGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
00131 $ X, 2, RCOND, R1, R2, W, IW, INFO )
00132 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00133 INFOT = 8
00134 CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
00135 $ X, 2, RCOND, R1, R2, W, IW, INFO )
00136 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00137 INFOT = 10
00138 EQ = '/'
00139 CALL SGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00140 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00141 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00142 INFOT = 11
00143 EQ = 'R'
00144 CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00145 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00146 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00147 INFOT = 12
00148 EQ = 'C'
00149 CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00150 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00151 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00152 INFOT = 14
00153 CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
00154 $ X, 2, RCOND, R1, R2, W, IW, INFO )
00155 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00156 INFOT = 16
00157 CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
00158 $ X, 1, RCOND, R1, R2, W, IW, INFO )
00159 CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00160
00161 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00162
00163
00164
00165 SRNAMT = 'SGBSV '
00166 INFOT = 1
00167 CALL SGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00168 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00169 INFOT = 2
00170 CALL SGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00171 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00172 INFOT = 3
00173 CALL SGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00174 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00175 INFOT = 4
00176 CALL SGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00177 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00178 INFOT = 6
00179 CALL SGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00180 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00181 INFOT = 9
00182 CALL SGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00183 CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00184
00185
00186
00187 SRNAMT = 'SGBSVX'
00188 INFOT = 1
00189 CALL SGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00190 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00191 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00192 INFOT = 2
00193 CALL SGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00194 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00195 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00196 INFOT = 3
00197 CALL SGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00198 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00199 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00200 INFOT = 4
00201 CALL SGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00202 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00203 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00204 INFOT = 5
00205 CALL SGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
00206 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00207 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00208 INFOT = 6
00209 CALL SGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
00210 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00211 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00212 INFOT = 8
00213 CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
00214 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00215 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00216 INFOT = 10
00217 CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
00218 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00219 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00220 INFOT = 12
00221 EQ = '/'
00222 CALL SGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00223 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00224 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00225 INFOT = 13
00226 EQ = 'R'
00227 CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00228 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00229 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00230 INFOT = 14
00231 EQ = 'C'
00232 CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00233 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00234 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00235 INFOT = 16
00236 CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00237 $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
00238 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00239 INFOT = 18
00240 CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00241 $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
00242 CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00243
00244 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00245
00246
00247
00248 SRNAMT = 'SGTSV '
00249 INFOT = 1
00250 CALL SGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00251 $ INFO )
00252 CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00253 INFOT = 2
00254 CALL SGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00255 $ INFO )
00256 CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00257 INFOT = 7
00258 CALL SGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00259 CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00260
00261
00262
00263 SRNAMT = 'SGTSVX'
00264 INFOT = 1
00265 CALL SGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00266 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00267 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00268 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00269 INFOT = 2
00270 CALL SGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00271 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00272 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00273 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00274 INFOT = 3
00275 CALL SGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00276 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00277 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00278 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00279 INFOT = 4
00280 CALL SGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00281 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00282 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00283 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00284 INFOT = 14
00285 CALL SGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00286 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00287 $ IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
00288 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00289 INFOT = 16
00290 CALL SGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00291 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00292 $ IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
00293 CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00294
00295 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00296
00297
00298
00299 SRNAMT = 'SPOSV '
00300 INFOT = 1
00301 CALL SPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00302 CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00303 INFOT = 2
00304 CALL SPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00305 CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00306 INFOT = 3
00307 CALL SPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00308 CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00309 INFOT = 5
00310 CALL SPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00311 CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00312 INFOT = 7
00313 CALL SPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00314 CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00315
00316
00317
00318 SRNAMT = 'SPOSVX'
00319 INFOT = 1
00320 CALL SPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00321 $ RCOND, R1, R2, W, IW, INFO )
00322 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00323 INFOT = 2
00324 CALL SPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00325 $ RCOND, R1, R2, W, IW, INFO )
00326 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00327 INFOT = 3
00328 CALL SPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00329 $ RCOND, R1, R2, W, IW, INFO )
00330 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00331 INFOT = 4
00332 CALL SPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00333 $ RCOND, R1, R2, W, IW, INFO )
00334 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00335 INFOT = 6
00336 CALL SPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00337 $ RCOND, R1, R2, W, IW, INFO )
00338 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00339 INFOT = 8
00340 CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00341 $ RCOND, R1, R2, W, IW, INFO )
00342 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00343 INFOT = 9
00344 EQ = '/'
00345 CALL SPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00346 $ RCOND, R1, R2, W, IW, INFO )
00347 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00348 INFOT = 10
00349 EQ = 'Y'
00350 CALL SPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00351 $ RCOND, R1, R2, W, IW, INFO )
00352 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00353 INFOT = 12
00354 CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00355 $ RCOND, R1, R2, W, IW, INFO )
00356 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00357 INFOT = 14
00358 CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00359 $ RCOND, R1, R2, W, IW, INFO )
00360 CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00361
00362 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00363
00364
00365
00366 SRNAMT = 'SPPSV '
00367 INFOT = 1
00368 CALL SPPSV( '/', 0, 0, A, B, 1, INFO )
00369 CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00370 INFOT = 2
00371 CALL SPPSV( 'U', -1, 0, A, B, 1, INFO )
00372 CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00373 INFOT = 3
00374 CALL SPPSV( 'U', 0, -1, A, B, 1, INFO )
00375 CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00376 INFOT = 6
00377 CALL SPPSV( 'U', 2, 0, A, B, 1, INFO )
00378 CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00379
00380
00381
00382 SRNAMT = 'SPPSVX'
00383 INFOT = 1
00384 CALL SPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00385 $ R1, R2, W, IW, INFO )
00386 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00387 INFOT = 2
00388 CALL SPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00389 $ R1, R2, W, IW, INFO )
00390 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00391 INFOT = 3
00392 CALL SPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00393 $ R1, R2, W, IW, INFO )
00394 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00395 INFOT = 4
00396 CALL SPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00397 $ R1, R2, W, IW, INFO )
00398 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00399 INFOT = 7
00400 EQ = '/'
00401 CALL SPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00402 $ R1, R2, W, IW, INFO )
00403 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00404 INFOT = 8
00405 EQ = 'Y'
00406 CALL SPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00407 $ R1, R2, W, IW, INFO )
00408 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00409 INFOT = 10
00410 CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00411 $ R1, R2, W, IW, INFO )
00412 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00413 INFOT = 12
00414 CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00415 $ R1, R2, W, IW, INFO )
00416 CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00417
00418 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00419
00420
00421
00422 SRNAMT = 'SPBSV '
00423 INFOT = 1
00424 CALL SPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00425 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00426 INFOT = 2
00427 CALL SPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00428 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00429 INFOT = 3
00430 CALL SPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00431 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00432 INFOT = 4
00433 CALL SPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00434 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00435 INFOT = 6
00436 CALL SPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00437 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00438 INFOT = 8
00439 CALL SPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00440 CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00441
00442
00443
00444 SRNAMT = 'SPBSVX'
00445 INFOT = 1
00446 CALL SPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00447 $ RCOND, R1, R2, W, IW, INFO )
00448 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00449 INFOT = 2
00450 CALL SPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00451 $ RCOND, R1, R2, W, IW, INFO )
00452 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00453 INFOT = 3
00454 CALL SPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00455 $ 1, RCOND, R1, R2, W, IW, INFO )
00456 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00457 INFOT = 4
00458 CALL SPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00459 $ 1, RCOND, R1, R2, W, IW, INFO )
00460 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00461 INFOT = 5
00462 CALL SPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
00463 $ 1, RCOND, R1, R2, W, IW, INFO )
00464 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00465 INFOT = 7
00466 CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00467 $ RCOND, R1, R2, W, IW, INFO )
00468 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00469 INFOT = 9
00470 CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00471 $ RCOND, R1, R2, W, IW, INFO )
00472 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00473 INFOT = 10
00474 EQ = '/'
00475 CALL SPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00476 $ RCOND, R1, R2, W, IW, INFO )
00477 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00478 INFOT = 11
00479 EQ = 'Y'
00480 CALL SPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00481 $ RCOND, R1, R2, W, IW, INFO )
00482 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00483 INFOT = 13
00484 CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
00485 $ RCOND, R1, R2, W, IW, INFO )
00486 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00487 INFOT = 15
00488 CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
00489 $ RCOND, R1, R2, W, IW, INFO )
00490 CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00491
00492 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00493
00494
00495
00496 SRNAMT = 'SPTSV '
00497 INFOT = 1
00498 CALL SPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00499 CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00500 INFOT = 2
00501 CALL SPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00502 CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00503 INFOT = 6
00504 CALL SPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00505 CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00506
00507
00508
00509 SRNAMT = 'SPTSVX'
00510 INFOT = 1
00511 CALL SPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00512 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00513 CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00514 INFOT = 2
00515 CALL SPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00516 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00517 CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00518 INFOT = 3
00519 CALL SPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00520 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00521 CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00522 INFOT = 9
00523 CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00524 $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO )
00525 CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00526 INFOT = 11
00527 CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00528 $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO )
00529 CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00530
00531 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00532
00533
00534
00535 SRNAMT = 'SSYSV '
00536 INFOT = 1
00537 CALL SSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00538 CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00539 INFOT = 2
00540 CALL SSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00541 CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00542 INFOT = 3
00543 CALL SSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00544 CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00545 INFOT = 8
00546 CALL SSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00547 CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00548
00549
00550
00551 SRNAMT = 'SSYSVX'
00552 INFOT = 1
00553 CALL SSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00554 $ RCOND, R1, R2, W, 1, IW, INFO )
00555 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00556 INFOT = 2
00557 CALL SSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00558 $ RCOND, R1, R2, W, 1, IW, INFO )
00559 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00560 INFOT = 3
00561 CALL SSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00562 $ RCOND, R1, R2, W, 1, IW, INFO )
00563 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00564 INFOT = 4
00565 CALL SSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00566 $ RCOND, R1, R2, W, 1, IW, INFO )
00567 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00568 INFOT = 6
00569 CALL SSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00570 $ RCOND, R1, R2, W, 4, IW, INFO )
00571 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00572 INFOT = 8
00573 CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00574 $ RCOND, R1, R2, W, 4, IW, INFO )
00575 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00576 INFOT = 11
00577 CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00578 $ RCOND, R1, R2, W, 4, IW, INFO )
00579 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00580 INFOT = 13
00581 CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00582 $ RCOND, R1, R2, W, 4, IW, INFO )
00583 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00584 INFOT = 18
00585 CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00586 $ RCOND, R1, R2, W, 3, IW, INFO )
00587 CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00588
00589 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
00590
00591
00592
00593 SRNAMT = 'SSPSV '
00594 INFOT = 1
00595 CALL SSPSV( '/', 0, 0, A, IP, B, 1, INFO )
00596 CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00597 INFOT = 2
00598 CALL SSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00599 CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00600 INFOT = 3
00601 CALL SSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00602 CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00603 INFOT = 7
00604 CALL SSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00605 CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00606
00607
00608
00609 SRNAMT = 'SSPSVX'
00610 INFOT = 1
00611 CALL SSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00612 $ R2, W, IW, INFO )
00613 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00614 INFOT = 2
00615 CALL SSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00616 $ R2, W, IW, INFO )
00617 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00618 INFOT = 3
00619 CALL SSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00620 $ R2, W, IW, INFO )
00621 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00622 INFOT = 4
00623 CALL SSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00624 $ R2, W, IW, INFO )
00625 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00626 INFOT = 9
00627 CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00628 $ R2, W, IW, INFO )
00629 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00630 INFOT = 11
00631 CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00632 $ R2, W, IW, INFO )
00633 CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00634 END IF
00635
00636
00637
00638 IF( OK ) THEN
00639 WRITE( NOUT, FMT = 9999 )PATH
00640 ELSE
00641 WRITE( NOUT, FMT = 9998 )PATH
00642 END IF
00643
00644 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
00645 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
00646 $ 'exits ***' )
00647
00648 RETURN
00649
00650
00651
00652 END