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