1*> \brief \b DERRVX 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8* Definition: 9* =========== 10* 11* SUBROUTINE DERRVX( PATH, NUNIT ) 12* 13* .. Scalar Arguments .. 14* CHARACTER*3 PATH 15* INTEGER NUNIT 16* .. 17* 18* 19*> \par Purpose: 20* ============= 21*> 22*> \verbatim 23*> 24*> DERRVX tests the error exits for the DOUBLE PRECISION driver routines 25*> for solving linear systems of equations. 26*> \endverbatim 27* 28* Arguments: 29* ========== 30* 31*> \param[in] PATH 32*> \verbatim 33*> PATH is CHARACTER*3 34*> The LAPACK path name for the routines to be tested. 35*> \endverbatim 36*> 37*> \param[in] NUNIT 38*> \verbatim 39*> NUNIT is INTEGER 40*> The unit number for output. 41*> \endverbatim 42* 43* Authors: 44* ======== 45* 46*> \author Univ. of Tennessee 47*> \author Univ. of California Berkeley 48*> \author Univ. of Colorado Denver 49*> \author NAG Ltd. 50* 51*> \ingroup double_lin 52* 53* ===================================================================== 54 SUBROUTINE DERRVX( PATH, NUNIT ) 55* 56* -- LAPACK test routine -- 57* -- LAPACK is a software package provided by Univ. of Tennessee, -- 58* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 59* 60* .. Scalar Arguments .. 61 CHARACTER*3 PATH 62 INTEGER NUNIT 63* .. 64* 65* ===================================================================== 66* 67* .. Parameters .. 68 INTEGER NMAX 69 PARAMETER ( NMAX = 4 ) 70* .. 71* .. Local Scalars .. 72 CHARACTER EQ 73 CHARACTER*2 C2 74 INTEGER I, INFO, J 75 DOUBLE PRECISION RCOND 76* .. 77* .. Local Arrays .. 78 INTEGER IP( NMAX ), IW( NMAX ) 79 DOUBLE PRECISION A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 80 $ C( NMAX ), E( NMAX ), R( NMAX ), R1( NMAX ), 81 $ R2( NMAX ), W( 2*NMAX ), X( NMAX ) 82* .. 83* .. External Functions .. 84 LOGICAL LSAMEN 85 EXTERNAL LSAMEN 86* .. 87* .. External Subroutines .. 88 EXTERNAL CHKXER, DGBSV, DGBSVX, DGESV, DGESVX, DGTSV, 89 $ DGTSVX, DPBSV, DPBSVX, DPOSV, DPOSVX, DPPSV, 90 $ DPPSVX, DPTSV, DPTSVX, DSPSV, DSPSVX, DSYSV, 91 $ DSYSV_AA, DSYSV_RK, DSYSV_ROOK, DSYSVX, 92 $ DSYSV_AA_2STAGE 93* .. 94* .. Scalars in Common .. 95 LOGICAL LERR, OK 96 CHARACTER*32 SRNAMT 97 INTEGER INFOT, NOUT 98* .. 99* .. Common blocks .. 100 COMMON / INFOC / INFOT, NOUT, OK, LERR 101 COMMON / SRNAMC / SRNAMT 102* .. 103* .. Intrinsic Functions .. 104 INTRINSIC DBLE 105* .. 106* .. Executable Statements .. 107* 108 NOUT = NUNIT 109 WRITE( NOUT, FMT = * ) 110 C2 = PATH( 2: 3 ) 111* 112* Set the variables to innocuous values. 113* 114 DO 20 J = 1, NMAX 115 DO 10 I = 1, NMAX 116 A( I, J ) = 1.D0 / DBLE( I+J ) 117 AF( I, J ) = 1.D0 / DBLE( I+J ) 118 10 CONTINUE 119 B( J ) = 0.D+0 120 E( J ) = 0.D+0 121 R1( J ) = 0.D+0 122 R2( J ) = 0.D+0 123 W( J ) = 0.D+0 124 X( J ) = 0.D+0 125 C( J ) = 0.D+0 126 R( J ) = 0.D+0 127 IP( J ) = J 128 20 CONTINUE 129 EQ = ' ' 130 OK = .TRUE. 131* 132 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 133* 134* DGESV 135* 136 SRNAMT = 'DGESV ' 137 INFOT = 1 138 CALL DGESV( -1, 0, A, 1, IP, B, 1, INFO ) 139 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 140 INFOT = 2 141 CALL DGESV( 0, -1, A, 1, IP, B, 1, INFO ) 142 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 143 INFOT = 4 144 CALL DGESV( 2, 1, A, 1, IP, B, 2, INFO ) 145 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 146 INFOT = 7 147 CALL DGESV( 2, 1, A, 2, IP, B, 1, INFO ) 148 CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK ) 149* 150* DGESVX 151* 152 SRNAMT = 'DGESVX' 153 INFOT = 1 154 CALL DGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 155 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 156 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 157 INFOT = 2 158 CALL DGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 159 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 160 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 161 INFOT = 3 162 CALL DGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 163 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 164 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 165 INFOT = 4 166 CALL DGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1, 167 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 168 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 169 INFOT = 6 170 CALL DGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2, 171 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 172 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 173 INFOT = 8 174 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2, 175 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 176 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 177 INFOT = 10 178 EQ = '/' 179 CALL DGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 180 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 181 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 182 INFOT = 11 183 EQ = 'R' 184 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 185 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 186 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 187 INFOT = 12 188 EQ = 'C' 189 CALL DGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1, 190 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 191 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 192 INFOT = 14 193 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1, 194 $ X, 2, RCOND, R1, R2, W, IW, INFO ) 195 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 196 INFOT = 16 197 CALL DGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2, 198 $ X, 1, RCOND, R1, R2, W, IW, INFO ) 199 CALL CHKXER( 'DGESVX', INFOT, NOUT, LERR, OK ) 200* 201 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 202* 203* DGBSV 204* 205 SRNAMT = 'DGBSV ' 206 INFOT = 1 207 CALL DGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO ) 208 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 209 INFOT = 2 210 CALL DGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO ) 211 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 212 INFOT = 3 213 CALL DGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO ) 214 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 215 INFOT = 4 216 CALL DGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO ) 217 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 218 INFOT = 6 219 CALL DGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO ) 220 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 221 INFOT = 9 222 CALL DGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO ) 223 CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK ) 224* 225* DGBSVX 226* 227 SRNAMT = 'DGBSVX' 228 INFOT = 1 229 CALL DGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 230 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 231 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 232 INFOT = 2 233 CALL DGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 234 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 235 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 236 INFOT = 3 237 CALL DGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 238 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 239 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 240 INFOT = 4 241 CALL DGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 242 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 243 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 244 INFOT = 5 245 CALL DGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C, 246 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 247 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 248 INFOT = 6 249 CALL DGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C, 250 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 251 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 252 INFOT = 8 253 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C, 254 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 255 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 256 INFOT = 10 257 CALL DGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C, 258 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 259 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 260 INFOT = 12 261 EQ = '/' 262 CALL DGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 263 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 264 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 265 INFOT = 13 266 EQ = 'R' 267 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 268 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 269 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 270 INFOT = 14 271 EQ = 'C' 272 CALL DGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 273 $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 274 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 275 INFOT = 16 276 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 277 $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO ) 278 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 279 INFOT = 18 280 CALL DGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C, 281 $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO ) 282 CALL CHKXER( 'DGBSVX', INFOT, NOUT, LERR, OK ) 283* 284 ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN 285* 286* DGTSV 287* 288 SRNAMT = 'DGTSV ' 289 INFOT = 1 290 CALL DGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 291 $ INFO ) 292 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 293 INFOT = 2 294 CALL DGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, 295 $ INFO ) 296 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 297 INFOT = 7 298 CALL DGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO ) 299 CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK ) 300* 301* DGTSVX 302* 303 SRNAMT = 'DGTSVX' 304 INFOT = 1 305 CALL DGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 306 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 307 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 308 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 309 INFOT = 2 310 CALL DGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 311 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 312 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 313 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 314 INFOT = 3 315 CALL DGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 316 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 317 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 318 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 319 INFOT = 4 320 CALL DGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 321 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 322 $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO ) 323 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 324 INFOT = 14 325 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 326 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 327 $ IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO ) 328 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 329 INFOT = 16 330 CALL DGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), 331 $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ), 332 $ IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO ) 333 CALL CHKXER( 'DGTSVX', INFOT, NOUT, LERR, OK ) 334* 335 ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN 336* 337* DPOSV 338* 339 SRNAMT = 'DPOSV ' 340 INFOT = 1 341 CALL DPOSV( '/', 0, 0, A, 1, B, 1, INFO ) 342 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 343 INFOT = 2 344 CALL DPOSV( 'U', -1, 0, A, 1, B, 1, INFO ) 345 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 346 INFOT = 3 347 CALL DPOSV( 'U', 0, -1, A, 1, B, 1, INFO ) 348 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 349 INFOT = 5 350 CALL DPOSV( 'U', 2, 0, A, 1, B, 2, INFO ) 351 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 352 INFOT = 7 353 CALL DPOSV( 'U', 2, 0, A, 2, B, 1, INFO ) 354 CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK ) 355* 356* DPOSVX 357* 358 SRNAMT = 'DPOSVX' 359 INFOT = 1 360 CALL DPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 361 $ RCOND, R1, R2, W, IW, INFO ) 362 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 363 INFOT = 2 364 CALL DPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 365 $ RCOND, R1, R2, W, IW, INFO ) 366 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 367 INFOT = 3 368 CALL DPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 369 $ RCOND, R1, R2, W, IW, INFO ) 370 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 371 INFOT = 4 372 CALL DPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1, 373 $ RCOND, R1, R2, W, IW, INFO ) 374 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 375 INFOT = 6 376 CALL DPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 377 $ RCOND, R1, R2, W, IW, INFO ) 378 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 379 INFOT = 8 380 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 381 $ RCOND, R1, R2, W, IW, INFO ) 382 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 383 INFOT = 9 384 EQ = '/' 385 CALL DPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 386 $ RCOND, R1, R2, W, IW, INFO ) 387 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 388 INFOT = 10 389 EQ = 'Y' 390 CALL DPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 391 $ RCOND, R1, R2, W, IW, INFO ) 392 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 393 INFOT = 12 394 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2, 395 $ RCOND, R1, R2, W, IW, INFO ) 396 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 397 INFOT = 14 398 CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1, 399 $ RCOND, R1, R2, W, IW, INFO ) 400 CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK ) 401* 402 ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN 403* 404* DPPSV 405* 406 SRNAMT = 'DPPSV ' 407 INFOT = 1 408 CALL DPPSV( '/', 0, 0, A, B, 1, INFO ) 409 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 410 INFOT = 2 411 CALL DPPSV( 'U', -1, 0, A, B, 1, INFO ) 412 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 413 INFOT = 3 414 CALL DPPSV( 'U', 0, -1, A, B, 1, INFO ) 415 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 416 INFOT = 6 417 CALL DPPSV( 'U', 2, 0, A, B, 1, INFO ) 418 CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK ) 419* 420* DPPSVX 421* 422 SRNAMT = 'DPPSVX' 423 INFOT = 1 424 CALL DPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 425 $ R1, R2, W, IW, INFO ) 426 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 427 INFOT = 2 428 CALL DPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 429 $ R1, R2, W, IW, INFO ) 430 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 431 INFOT = 3 432 CALL DPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 433 $ R1, R2, W, IW, INFO ) 434 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 435 INFOT = 4 436 CALL DPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND, 437 $ R1, R2, W, IW, INFO ) 438 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 439 INFOT = 7 440 EQ = '/' 441 CALL DPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 442 $ R1, R2, W, IW, INFO ) 443 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 444 INFOT = 8 445 EQ = 'Y' 446 CALL DPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND, 447 $ R1, R2, W, IW, INFO ) 448 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 449 INFOT = 10 450 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND, 451 $ R1, R2, W, IW, INFO ) 452 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 453 INFOT = 12 454 CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND, 455 $ R1, R2, W, IW, INFO ) 456 CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK ) 457* 458 ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN 459* 460* DPBSV 461* 462 SRNAMT = 'DPBSV ' 463 INFOT = 1 464 CALL DPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO ) 465 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 466 INFOT = 2 467 CALL DPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO ) 468 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 469 INFOT = 3 470 CALL DPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO ) 471 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 472 INFOT = 4 473 CALL DPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO ) 474 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 475 INFOT = 6 476 CALL DPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO ) 477 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 478 INFOT = 8 479 CALL DPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO ) 480 CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK ) 481* 482* DPBSVX 483* 484 SRNAMT = 'DPBSVX' 485 INFOT = 1 486 CALL DPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 487 $ RCOND, R1, R2, W, IW, INFO ) 488 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 489 INFOT = 2 490 CALL DPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 491 $ RCOND, R1, R2, W, IW, INFO ) 492 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 493 INFOT = 3 494 CALL DPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 495 $ 1, RCOND, R1, R2, W, IW, INFO ) 496 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 497 INFOT = 4 498 CALL DPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 499 $ 1, RCOND, R1, R2, W, IW, INFO ) 500 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 501 INFOT = 5 502 CALL DPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 503 $ 1, RCOND, R1, R2, W, IW, INFO ) 504 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 505 INFOT = 7 506 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2, 507 $ RCOND, R1, R2, W, IW, INFO ) 508 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 509 INFOT = 9 510 CALL DPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2, 511 $ RCOND, R1, R2, W, IW, INFO ) 512 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 513 INFOT = 10 514 EQ = '/' 515 CALL DPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 516 $ RCOND, R1, R2, W, IW, INFO ) 517 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 518 INFOT = 11 519 EQ = 'Y' 520 CALL DPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1, 521 $ RCOND, R1, R2, W, IW, INFO ) 522 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 523 INFOT = 13 524 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2, 525 $ RCOND, R1, R2, W, IW, INFO ) 526 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 527 INFOT = 15 528 CALL DPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1, 529 $ RCOND, R1, R2, W, IW, INFO ) 530 CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK ) 531* 532 ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN 533* 534* DPTSV 535* 536 SRNAMT = 'DPTSV ' 537 INFOT = 1 538 CALL DPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 539 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 540 INFOT = 2 541 CALL DPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 542 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 543 INFOT = 6 544 CALL DPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO ) 545 CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK ) 546* 547* DPTSVX 548* 549 SRNAMT = 'DPTSVX' 550 INFOT = 1 551 CALL DPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 552 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 553 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 554 INFOT = 2 555 CALL DPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 556 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 557 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 558 INFOT = 3 559 CALL DPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 560 $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO ) 561 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 562 INFOT = 9 563 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 564 $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO ) 565 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 566 INFOT = 11 567 CALL DPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ), 568 $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO ) 569 CALL CHKXER( 'DPTSVX', INFOT, NOUT, LERR, OK ) 570* 571 ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN 572* 573* DSYSV 574* 575 SRNAMT = 'DSYSV ' 576 INFOT = 1 577 CALL DSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 578 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 579 INFOT = 2 580 CALL DSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 581 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 582 INFOT = 3 583 CALL DSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 584 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 585 INFOT = 5 586 CALL DSYSV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO ) 587 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 588 INFOT = 8 589 CALL DSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 590 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 591 INFOT = 10 592 CALL DSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 593 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 594 INFOT = 10 595 CALL DSYSV( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 596 CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK ) 597* 598* DSYSVX 599* 600 SRNAMT = 'DSYSVX' 601 INFOT = 1 602 CALL DSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 603 $ RCOND, R1, R2, W, 1, IW, INFO ) 604 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 605 INFOT = 2 606 CALL DSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, 607 $ RCOND, R1, R2, W, 1, IW, INFO ) 608 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 609 INFOT = 3 610 CALL DSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, 611 $ RCOND, R1, R2, W, 1, IW, INFO ) 612 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 613 INFOT = 4 614 CALL DSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, 615 $ RCOND, R1, R2, W, 1, IW, INFO ) 616 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 617 INFOT = 6 618 CALL DSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2, 619 $ RCOND, R1, R2, W, 4, IW, INFO ) 620 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 621 INFOT = 8 622 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2, 623 $ RCOND, R1, R2, W, 4, IW, INFO ) 624 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 625 INFOT = 11 626 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2, 627 $ RCOND, R1, R2, W, 4, IW, INFO ) 628 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 629 INFOT = 13 630 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1, 631 $ RCOND, R1, R2, W, 4, IW, INFO ) 632 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 633 INFOT = 18 634 CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2, 635 $ RCOND, R1, R2, W, 3, IW, INFO ) 636 CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK ) 637* 638 ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN 639* 640* DSYSV_ROOK 641* 642 SRNAMT = 'DSYSV_ROOK' 643 INFOT = 1 644 CALL DSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 645 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 646 INFOT = 2 647 CALL DSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 648 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 649 INFOT = 3 650 CALL DSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 651 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 652 INFOT = 5 653 CALL DSYSV_ROOK( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO ) 654 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 655 INFOT = 8 656 CALL DSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 657 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 658 INFOT = 10 659 CALL DSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, 0, INFO ) 660 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 661 INFOT = 10 662 CALL DSYSV_ROOK( 'U', 0, 0, A, 1, IP, B, 1, W, -2, INFO ) 663 CALL CHKXER( 'DSYSV_ROOK', INFOT, NOUT, LERR, OK ) 664* 665 ELSE IF( LSAMEN( 2, C2, 'SK' ) ) THEN 666* 667* DSYSV_RK 668* 669* Test error exits of the driver that uses factorization 670* of a symmetric indefinite matrix with rook 671* (bounded Bunch-Kaufman) pivoting with the new storage 672* format for factors L ( or U) and D. 673* 674* L (or U) is stored in A, diagonal of D is stored on the 675* diagonal of A, subdiagonal of D is stored in a separate array E. 676* 677 SRNAMT = 'DSYSV_RK' 678 INFOT = 1 679 CALL DSYSV_RK( '/', 0, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 680 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 681 INFOT = 2 682 CALL DSYSV_RK( 'U', -1, 0, A, 1, E, IP, B, 1, W, 1, INFO ) 683 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 684 INFOT = 3 685 CALL DSYSV_RK( 'U', 0, -1, A, 1, E, IP, B, 1, W, 1, INFO ) 686 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 687 INFOT = 5 688 CALL DSYSV_RK( 'U', 2, 0, A, 1, E, IP, B, 2, W, 1, INFO ) 689 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 690 INFOT = 9 691 CALL DSYSV_RK( 'U', 2, 0, A, 2, E, IP, B, 1, W, 1, INFO ) 692 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 693 INFOT = 11 694 CALL DSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, 0, INFO ) 695 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 696 INFOT = 11 697 CALL DSYSV_RK( 'U', 0, 0, A, 1, E, IP, B, 1, W, -2, INFO ) 698 CALL CHKXER( 'DSYSV_RK', INFOT, NOUT, LERR, OK ) 699* 700 ELSE IF( LSAMEN( 2, C2, 'SA' ) ) THEN 701* 702* DSYSV_AA 703* 704 SRNAMT = 'DSYSV_AA' 705 INFOT = 1 706 CALL DSYSV_AA( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO ) 707 CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK ) 708 INFOT = 2 709 CALL DSYSV_AA( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO ) 710 CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK ) 711 INFOT = 3 712 CALL DSYSV_AA( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO ) 713 CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK ) 714 INFOT = 8 715 CALL DSYSV_AA( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO ) 716 CALL CHKXER( 'DSYSV_AA', INFOT, NOUT, LERR, OK ) 717* 718 ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN 719* 720* DSYSV_AASEN_2STAGE 721* 722 SRNAMT = 'DSYSV_AA_2STAGE' 723 INFOT = 1 724 CALL DSYSV_AA_2STAGE( '/', 0, 0, A, 1, A, 1, IP, IP, B, 1, 725 $ W, 1, INFO ) 726 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 727 INFOT = 2 728 CALL DSYSV_AA_2STAGE( 'U', -1, 0, A, 1, A, 1, IP, IP, B, 1, 729 $ W, 1, INFO ) 730 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 731 INFOT = 3 732 CALL DSYSV_AA_2STAGE( 'U', 0, -1, A, 1, A, 1, IP, IP, B, 1, 733 $ W, 1, INFO ) 734 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 735 INFOT = 5 736 CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 1, A, 1, IP, IP, B, 1, 737 $ W, 1, INFO ) 738 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 739 INFOT = 11 740 CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 8, IP, IP, B, 1, 741 $ W, 1, INFO ) 742 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 743 INFOT = 7 744 CALL DSYSV_AA_2STAGE( 'U', 2, 1, A, 2, A, 1, IP, IP, B, 2, 745 $ W, 1, INFO ) 746 CALL CHKXER( 'DSYSV_AA_2STAGE', INFOT, NOUT, LERR, OK ) 747* 748 ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN 749* 750* DSPSV 751* 752 SRNAMT = 'DSPSV ' 753 INFOT = 1 754 CALL DSPSV( '/', 0, 0, A, IP, B, 1, INFO ) 755 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 756 INFOT = 2 757 CALL DSPSV( 'U', -1, 0, A, IP, B, 1, INFO ) 758 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 759 INFOT = 3 760 CALL DSPSV( 'U', 0, -1, A, IP, B, 1, INFO ) 761 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 762 INFOT = 7 763 CALL DSPSV( 'U', 2, 0, A, IP, B, 1, INFO ) 764 CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK ) 765* 766* DSPSVX 767* 768 SRNAMT = 'DSPSVX' 769 INFOT = 1 770 CALL DSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 771 $ R2, W, IW, INFO ) 772 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 773 INFOT = 2 774 CALL DSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 775 $ R2, W, IW, INFO ) 776 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 777 INFOT = 3 778 CALL DSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1, 779 $ R2, W, IW, INFO ) 780 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 781 INFOT = 4 782 CALL DSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1, 783 $ R2, W, IW, INFO ) 784 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 785 INFOT = 9 786 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1, 787 $ R2, W, IW, INFO ) 788 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 789 INFOT = 11 790 CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1, 791 $ R2, W, IW, INFO ) 792 CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK ) 793 END IF 794* 795* Print a summary line. 796* 797 IF( OK ) THEN 798 WRITE( NOUT, FMT = 9999 )PATH 799 ELSE 800 WRITE( NOUT, FMT = 9998 )PATH 801 END IF 802* 803 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' ) 804 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ', 805 $ 'exits ***' ) 806* 807 RETURN 808* 809* End of DERRVX 810* 811 END 812