LAPACK 3.3.0
|
00001 SUBROUTINE DERRVX( PATH, NUNIT ) 00002 * 00003 * -- LAPACK test routine (version 3.2.1) -- 00004 * 00005 * -- April 2009 -- 00006 * 00007 * -- LAPACK is a software package provided by Univ. of Tennessee, -- 00008 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 00009 * 00010 * .. Scalar Arguments .. 00011 CHARACTER*3 PATH 00012 INTEGER NUNIT 00013 * .. 00014 * 00015 * Purpose 00016 * ======= 00017 * 00018 * DERRVX tests the error exits for the DOUBLE PRECISION driver routines 00019 * for solving linear systems of equations. 00020 * 00021 * Arguments 00022 * ========= 00023 * 00024 * PATH (input) CHARACTER*3 00025 * The LAPACK path name for the routines to be tested. 00026 * 00027 * NUNIT (input) INTEGER 00028 * The unit number for output. 00029 * 00030 * ===================================================================== 00031 * 00032 * .. Parameters .. 00033 INTEGER NMAX 00034 PARAMETER ( NMAX = 4 ) 00035 * .. 00036 * .. Local Scalars .. 00037 CHARACTER EQ 00038 CHARACTER*2 C2 00039 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 00040 DOUBLE PRECISION RCOND, RPVGRW, BERR 00041 * .. 00042 * .. Local Arrays .. 00043 INTEGER IP( NMAX ), IW( NMAX ) 00044 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 00045 $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ), 00046 $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ), 00047 $ ERR_BNDS_C( NMAX, 3 ), PARAMS 00048 * .. 00049 * .. External Functions .. 00050 LOGICAL LSAMEN 00051 EXTERNAL LSAMEN 00052 * .. 00053 * .. External Subroutines .. 00054 EXTERNAL CHKXER, DGBSV, DGBSVX, DGESV, DGESVX, DGTSV, 00055 $ DGTSVX, DPBSV, DPBSVX, DPOSV, DPOSVX, DPPSV, 00056 $ DPPSVX, DPTSV, DPTSVX, DSPSV, DSPSVX, DSYSV, 00057 $ DSYSVX, DGESVXX, DSYSVXX, DPOSVXX, DGBSVXX 00058 * .. 00059 * .. Scalars in Common .. 00060 LOGICAL LERR, OK 00061 CHARACTER*32 SRNAMT 00062 INTEGER INFOT, NOUT 00063 * .. 00064 * .. Common blocks .. 00065 COMMON / INFOC / INFOT, NOUT, OK, LERR 00066 COMMON / SRNAMC / SRNAMT 00067 * .. 00068 * .. Intrinsic Functions .. 00069 INTRINSIC DBLE 00070 * .. 00071 * .. Executable Statements .. 00072 * 00073 NOUT = NUNIT 00074 WRITE( NOUT, FMT = * ) 00075 C2 = PATH( 2: 3 ) 00076 * 00077 * Set the variables to innocuous values. 00078 * 00079 DO 20 J = 1, NMAX 00080 DO 10 I = 1, NMAX 00081 A( I, J ) = 1.D0 / DBLE( I+J ) 00082 AF( I, J ) = 1.D0 / DBLE( I+J ) 00083 10 CONTINUE 00084 B( J ) = 0.D0 00085 R1( J ) = 0.D0 00086 R2( J ) = 0.D0 00087 W( J ) = 0.D0 00088 X( J ) = 0.D0 00089 C( J ) = 0.D0 00090 R( J ) = 0.D0 00091 IP( J ) = J 00092 20 CONTINUE 00093 EQ = ' ' 00094 OK = .TRUE. 00095 * 00096 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 00097 * 00098 * DGESV 00099 * 00100 SRNAMT = 'DGESV ' 00101 INFOT = 1 00102 CALL DGESV( -1, 0, A, 1, IP, B, 1, INFO ) 00103 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 00104 INFOT = 2 00105 CALL DGESV( 0, -1, A, 1, IP, B, 1, INFO ) 00106 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 00107 INFOT = 4 00108 CALL DGESV( 2, 1, A, 1, IP, B, 2, INFO ) 00109 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 00110 INFOT = 7 00111 CALL DGESV( 2, 1, A, 2, IP, B, 1, INFO ) 00112 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 00113 * 00114 * DGESVX 00115 * 00116 SRNAMT = 'DGESVX' 00117 INFOT = 1 00118 CALL DGESVX( '/', '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( 'DGESVX', INFOT, NOUT, LERR, OK ) 00121 INFOT = 2 00122 CALL DGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00123 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00124 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00125 INFOT = 3 00126 CALL DGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00127 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00128 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00129 INFOT = 4 00130 CALL DGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00131 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00132 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00133 INFOT = 6 00134 CALL DGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2, 00135 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 00136 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00137 INFOT = 8 00138 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2, 00139 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 00140 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00141 INFOT = 10 00142 EQ = '/' 00143 CALL DGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00144 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00145 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00146 INFOT = 11 00147 EQ = 'R' 00148 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00149 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00150 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00151 INFOT = 12 00152 EQ = 'C' 00153 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00154 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00155 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00156 INFOT = 14 00157 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1, 00158 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 00159 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00160 INFOT = 16 00161 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2, 00162 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 00163 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 00164 * 00165 * DGESVXX 00166 * 00167 N_ERR_BNDS = 3 00168 NPARAMS = 0 00169 SRNAMT = 'DGESVXX' 00170 INFOT = 1 00171 CALL DGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00172 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00173 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00174 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00175 INFOT = 2 00176 CALL DGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00177 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00178 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00179 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00180 INFOT = 3 00181 CALL DGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00182 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00183 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00184 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00185 INFOT = 4 00186 CALL DGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00187 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00188 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00189 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00190 INFOT = 6 00191 CALL DGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2, 00192 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00193 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00194 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00195 INFOT = 8 00196 CALL DGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2, 00197 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00198 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00199 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00200 INFOT = 10 00201 EQ = '/' 00202 CALL DGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00203 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00204 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00205 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00206 INFOT = 11 00207 EQ = 'R' 00208 CALL DGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00209 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00210 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00211 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00212 INFOT = 12 00213 EQ = 'C' 00214 CALL DGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 00215 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00216 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00217 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00218 INFOT = 14 00219 CALL DGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1, 00220 $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00221 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00222 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00223 INFOT = 16 00224 CALL DGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2, 00225 $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00226 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00227 CALL CHKXER( 'DGESVXX', INFOT, NOUT, LERR, OK ) 00228 * 00229 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 00230 * 00231 * DGBSV 00232 * 00233 SRNAMT = 'DGBSV ' 00234 INFOT = 1 00235 CALL DGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO ) 00236 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00237 INFOT = 2 00238 CALL DGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO ) 00239 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00240 INFOT = 3 00241 CALL DGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO ) 00242 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00243 INFOT = 4 00244 CALL DGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO ) 00245 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00246 INFOT = 6 00247 CALL DGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO ) 00248 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00249 INFOT = 9 00250 CALL DGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO ) 00251 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 00252 * 00253 * DGBSVX 00254 * 00255 SRNAMT = 'DGBSVX' 00256 INFOT = 1 00257 CALL DGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00258 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00259 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00260 INFOT = 2 00261 CALL DGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00262 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00263 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00264 INFOT = 3 00265 CALL DGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00266 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00267 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00268 INFOT = 4 00269 CALL DGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00270 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00271 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00272 INFOT = 5 00273 CALL DGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C, 00274 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00275 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00276 INFOT = 6 00277 CALL DGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C, 00278 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00279 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00280 INFOT = 8 00281 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C, 00282 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00283 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00284 INFOT = 10 00285 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C, 00286 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00287 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00288 INFOT = 12 00289 EQ = '/' 00290 CALL DGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00291 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00292 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00293 INFOT = 13 00294 EQ = 'R' 00295 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00296 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00297 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00298 INFOT = 14 00299 EQ = 'C' 00300 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00301 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00302 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00303 INFOT = 16 00304 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00305 $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO ) 00306 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00307 INFOT = 18 00308 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00309 $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO ) 00310 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 00311 * 00312 * DGBSVXX 00313 * 00314 N_ERR_BNDS = 3 00315 NPARAMS = 0 00316 SRNAMT = 'DGBSVXX' 00317 INFOT = 1 00318 CALL DGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 00319 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00320 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00321 $ INFO ) 00322 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00323 INFOT = 2 00324 CALL DGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C, 00325 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00326 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00327 $ INFO ) 00328 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00329 INFOT = 3 00330 CALL DGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C, 00331 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00332 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00333 $ INFO ) 00334 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00335 INFOT = 4 00336 CALL DGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ, 00337 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00338 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00339 $ INFO ) 00340 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00341 INFOT = 5 00342 CALL DGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ, 00343 $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00344 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00345 $ INFO ) 00346 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00347 INFOT = 6 00348 CALL DGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C, 00349 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00350 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00351 $ INFO ) 00352 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00353 INFOT = 8 00354 CALL DGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C, 00355 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00356 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00357 $ INFO ) 00358 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00359 INFOT = 10 00360 CALL DGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C, 00361 $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00362 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00363 $ INFO ) 00364 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00365 INFOT = 12 00366 EQ = '/' 00367 CALL DGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 00368 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00369 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00370 $ INFO ) 00371 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00372 INFOT = 13 00373 EQ = 'R' 00374 CALL DGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 00375 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00376 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00377 $ INFO ) 00378 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00379 INFOT = 14 00380 EQ = 'C' 00381 CALL DGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C, 00382 $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00383 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00384 $ INFO ) 00385 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00386 INFOT = 15 00387 CALL DGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C, 00388 $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00389 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00390 $ INFO ) 00391 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00392 INFOT = 16 00393 CALL DGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C, 00394 $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, 00395 $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW, 00396 $ INFO ) 00397 CALL CHKXER( 'DGBSVXX', INFOT, NOUT, LERR, OK ) 00398 * 00399 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN 00400 * 00401 * DGTSV 00402 * 00403 SRNAMT = 'DGTSV ' 00404 INFOT = 1 00405 CALL DGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 00406 $ INFO ) 00407 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 00408 INFOT = 2 00409 CALL DGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 00410 $ INFO ) 00411 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 00412 INFOT = 7 00413 CALL DGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO ) 00414 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 00415 * 00416 * DGTSVX 00417 * 00418 SRNAMT = 'DGTSVX' 00419 INFOT = 1 00420 CALL DGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00421 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00422 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00423 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00424 INFOT = 2 00425 CALL DGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00426 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00427 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00428 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00429 INFOT = 3 00430 CALL DGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00431 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00432 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00433 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00434 INFOT = 4 00435 CALL DGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00436 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00437 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 00438 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00439 INFOT = 14 00440 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00441 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00442 $ IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO ) 00443 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00444 INFOT = 16 00445 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 00446 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 00447 $ IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO ) 00448 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 00449 * 00450 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN 00451 * 00452 * DPOSV 00453 * 00454 SRNAMT = 'DPOSV ' 00455 INFOT = 1 00456 CALL DPOSV( '/', 0, 0, A, 1, B, 1, INFO ) 00457 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 00458 INFOT = 2 00459 CALL DPOSV( 'U', -1, 0, A, 1, B, 1, INFO ) 00460 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 00461 INFOT = 3 00462 CALL DPOSV( 'U', 0, -1, A, 1, B, 1, INFO ) 00463 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 00464 INFOT = 5 00465 CALL DPOSV( 'U', 2, 0, A, 1, B, 2, INFO ) 00466 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 00467 INFOT = 7 00468 CALL DPOSV( 'U', 2, 0, A, 2, B, 1, INFO ) 00469 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 00470 * 00471 * DPOSVX 00472 * 00473 SRNAMT = 'DPOSVX' 00474 INFOT = 1 00475 CALL DPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00476 $ RCOND, R1, R2, W, IW, INFO ) 00477 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00478 INFOT = 2 00479 CALL DPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00480 $ RCOND, R1, R2, W, IW, INFO ) 00481 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00482 INFOT = 3 00483 CALL DPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00484 $ RCOND, R1, R2, W, IW, INFO ) 00485 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00486 INFOT = 4 00487 CALL DPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00488 $ RCOND, R1, R2, W, IW, INFO ) 00489 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00490 INFOT = 6 00491 CALL DPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 00492 $ RCOND, R1, R2, W, IW, INFO ) 00493 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00494 INFOT = 8 00495 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 00496 $ RCOND, R1, R2, W, IW, INFO ) 00497 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00498 INFOT = 9 00499 EQ = '/' 00500 CALL DPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00501 $ RCOND, R1, R2, W, IW, INFO ) 00502 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00503 INFOT = 10 00504 EQ = 'Y' 00505 CALL DPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00506 $ RCOND, R1, R2, W, IW, INFO ) 00507 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00508 INFOT = 12 00509 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 00510 $ RCOND, R1, R2, W, IW, INFO ) 00511 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00512 INFOT = 14 00513 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 00514 $ RCOND, R1, R2, W, IW, INFO ) 00515 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 00516 * 00517 * DPOSVXX 00518 * 00519 N_ERR_BNDS = 3 00520 NPARAMS = 0 00521 SRNAMT = 'DPOSVXX' 00522 INFOT = 1 00523 CALL DPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00524 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00525 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00526 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00527 INFOT = 2 00528 CALL DPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00529 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00530 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00531 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00532 INFOT = 3 00533 CALL DPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00534 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00535 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00536 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00537 INFOT = 4 00538 CALL DPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00539 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00540 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00541 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00542 INFOT = 6 00543 CALL DPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 00544 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00545 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00546 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00547 INFOT = 8 00548 CALL DPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 00549 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00550 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00551 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00552 INFOT = 9 00553 EQ = '/' 00554 CALL DPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00555 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00556 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00557 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00558 INFOT = 10 00559 EQ = 'Y' 00560 CALL DPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00561 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00562 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00563 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00564 INFOT = 12 00565 CALL DPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 00566 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00567 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00568 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00569 INFOT = 14 00570 CALL DPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 00571 $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00572 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00573 CALL CHKXER( 'DPOSVXX', INFOT, NOUT, LERR, OK ) 00574 * 00575 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 00576 * 00577 * DPPSV 00578 * 00579 SRNAMT = 'DPPSV ' 00580 INFOT = 1 00581 CALL DPPSV( '/', 0, 0, A, B, 1, INFO ) 00582 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 00583 INFOT = 2 00584 CALL DPPSV( 'U', -1, 0, A, B, 1, INFO ) 00585 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 00586 INFOT = 3 00587 CALL DPPSV( 'U', 0, -1, A, B, 1, INFO ) 00588 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 00589 INFOT = 6 00590 CALL DPPSV( 'U', 2, 0, A, B, 1, INFO ) 00591 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 00592 * 00593 * DPPSVX 00594 * 00595 SRNAMT = 'DPPSVX' 00596 INFOT = 1 00597 CALL DPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 00598 $ R1, R2, W, IW, INFO ) 00599 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00600 INFOT = 2 00601 CALL DPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 00602 $ R1, R2, W, IW, INFO ) 00603 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00604 INFOT = 3 00605 CALL DPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 00606 $ R1, R2, W, IW, INFO ) 00607 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00608 INFOT = 4 00609 CALL DPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND, 00610 $ R1, R2, W, IW, INFO ) 00611 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00612 INFOT = 7 00613 EQ = '/' 00614 CALL DPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 00615 $ R1, R2, W, IW, INFO ) 00616 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00617 INFOT = 8 00618 EQ = 'Y' 00619 CALL DPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 00620 $ R1, R2, W, IW, INFO ) 00621 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00622 INFOT = 10 00623 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND, 00624 $ R1, R2, W, IW, INFO ) 00625 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00626 INFOT = 12 00627 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND, 00628 $ R1, R2, W, IW, INFO ) 00629 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 00630 * 00631 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 00632 * 00633 * DPBSV 00634 * 00635 SRNAMT = 'DPBSV ' 00636 INFOT = 1 00637 CALL DPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO ) 00638 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00639 INFOT = 2 00640 CALL DPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 00641 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00642 INFOT = 3 00643 CALL DPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 00644 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00645 INFOT = 4 00646 CALL DPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 00647 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00648 INFOT = 6 00649 CALL DPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO ) 00650 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00651 INFOT = 8 00652 CALL DPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO ) 00653 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 00654 * 00655 * DPBSVX 00656 * 00657 SRNAMT = 'DPBSVX' 00658 INFOT = 1 00659 CALL DPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00660 $ RCOND, R1, R2, W, IW, INFO ) 00661 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00662 INFOT = 2 00663 CALL DPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00664 $ RCOND, R1, R2, W, IW, INFO ) 00665 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00666 INFOT = 3 00667 CALL DPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 00668 $ 1, RCOND, R1, R2, W, IW, INFO ) 00669 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00670 INFOT = 4 00671 CALL DPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 00672 $ 1, RCOND, R1, R2, W, IW, INFO ) 00673 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00674 INFOT = 5 00675 CALL DPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 00676 $ 1, RCOND, R1, R2, W, IW, INFO ) 00677 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00678 INFOT = 7 00679 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 00680 $ RCOND, R1, R2, W, IW, INFO ) 00681 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00682 INFOT = 9 00683 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 00684 $ RCOND, R1, R2, W, IW, INFO ) 00685 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00686 INFOT = 10 00687 EQ = '/' 00688 CALL DPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00689 $ RCOND, R1, R2, W, IW, INFO ) 00690 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00691 INFOT = 11 00692 EQ = 'Y' 00693 CALL DPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 00694 $ RCOND, R1, R2, W, IW, INFO ) 00695 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00696 INFOT = 13 00697 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2, 00698 $ RCOND, R1, R2, W, IW, INFO ) 00699 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00700 INFOT = 15 00701 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1, 00702 $ RCOND, R1, R2, W, IW, INFO ) 00703 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 00704 * 00705 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN 00706 * 00707 * DPTSV 00708 * 00709 SRNAMT = 'DPTSV ' 00710 INFOT = 1 00711 CALL DPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 00712 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 00713 INFOT = 2 00714 CALL DPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 00715 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 00716 INFOT = 6 00717 CALL DPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 00718 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 00719 * 00720 * DPTSVX 00721 * 00722 SRNAMT = 'DPTSVX' 00723 INFOT = 1 00724 CALL DPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 00725 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 00726 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 00727 INFOT = 2 00728 CALL DPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 00729 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 00730 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 00731 INFOT = 3 00732 CALL DPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 00733 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 00734 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 00735 INFOT = 9 00736 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 00737 $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO ) 00738 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 00739 INFOT = 11 00740 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 00741 $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO ) 00742 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 00743 * 00744 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN 00745 * 00746 * DSYSV 00747 * 00748 SRNAMT = 'DSYSV ' 00749 INFOT = 1 00750 CALL DSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 00751 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 00752 INFOT = 2 00753 CALL DSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 00754 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 00755 INFOT = 3 00756 CALL DSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 00757 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 00758 INFOT = 8 00759 CALL DSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 00760 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 00761 * 00762 * DSYSVX 00763 * 00764 SRNAMT = 'DSYSVX' 00765 INFOT = 1 00766 CALL DSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 00767 $ RCOND, R1, R2, W, 1, IW, INFO ) 00768 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00769 INFOT = 2 00770 CALL DSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 00771 $ RCOND, R1, R2, W, 1, IW, INFO ) 00772 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00773 INFOT = 3 00774 CALL DSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 00775 $ RCOND, R1, R2, W, 1, IW, INFO ) 00776 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00777 INFOT = 4 00778 CALL DSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 00779 $ RCOND, R1, R2, W, 1, IW, INFO ) 00780 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00781 INFOT = 6 00782 CALL DSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 00783 $ RCOND, R1, R2, W, 4, IW, INFO ) 00784 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00785 INFOT = 8 00786 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 00787 $ RCOND, R1, R2, W, 4, IW, INFO ) 00788 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00789 INFOT = 11 00790 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 00791 $ RCOND, R1, R2, W, 4, IW, INFO ) 00792 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00793 INFOT = 13 00794 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 00795 $ RCOND, R1, R2, W, 4, IW, INFO ) 00796 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00797 INFOT = 18 00798 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 00799 $ RCOND, R1, R2, W, 3, IW, INFO ) 00800 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 00801 * 00802 * DSYSVXX 00803 * 00804 N_ERR_BNDS = 3 00805 NPARAMS = 0 00806 SRNAMT = 'DSYSVXX' 00807 INFOT = 1 00808 EQ = 'N' 00809 CALL DSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 00810 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00811 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00812 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00813 INFOT = 2 00814 CALL DSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 00815 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00816 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00817 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00818 INFOT = 3 00819 CALL DSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X, 00820 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00821 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00822 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00823 INFOT = 4 00824 EQ = '/' 00825 CALL DSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X, 00826 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00827 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00828 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00829 EQ = 'Y' 00830 INFOT = 6 00831 CALL DSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X, 00832 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00833 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00834 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00835 INFOT = 8 00836 CALL DSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X, 00837 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00838 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00839 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00840 INFOT = 12 00841 EQ = 'N' 00842 CALL DSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X, 00843 $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00844 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00845 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00846 INFOT = 14 00847 CALL DSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X, 00848 $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N, 00849 $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO ) 00850 CALL CHKXER( 'DSYSVXX', INFOT, NOUT, LERR, OK ) 00851 * 00852 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN 00853 * 00854 * DSPSV 00855 * 00856 SRNAMT = 'DSPSV ' 00857 INFOT = 1 00858 CALL DSPSV( '/', 0, 0, A, IP, B, 1, INFO ) 00859 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 00860 INFOT = 2 00861 CALL DSPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 00862 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 00863 INFOT = 3 00864 CALL DSPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 00865 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 00866 INFOT = 7 00867 CALL DSPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 00868 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 00869 * 00870 * DSPSVX 00871 * 00872 SRNAMT = 'DSPSVX' 00873 INFOT = 1 00874 CALL DSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 00875 $ R2, W, IW, INFO ) 00876 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00877 INFOT = 2 00878 CALL DSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 00879 $ R2, W, IW, INFO ) 00880 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00881 INFOT = 3 00882 CALL DSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 00883 $ R2, W, IW, INFO ) 00884 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00885 INFOT = 4 00886 CALL DSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 00887 $ R2, W, IW, INFO ) 00888 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00889 INFOT = 9 00890 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 00891 $ R2, W, IW, INFO ) 00892 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00893 INFOT = 11 00894 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 00895 $ R2, W, IW, INFO ) 00896 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 00897 END IF 00898 * 00899 * Print a summary line. 00900 * 00901 IF( OK ) THEN 00902 WRITE( NOUT, FMT = 9999 )PATH 00903 ELSE 00904 WRITE( NOUT, FMT = 9998 )PATH 00905 END IF 00906 * 00907 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' ) 00908 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', 00909 $ 'exits ***' ) 00910 * 00911 RETURN 00912 * 00913 * End of DERRVX 00914 * 00915 END