1*> \brief \b DERRTR 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 DERRTR( 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*> DERRTR tests the error exits for the DOUBLE PRECISION triangular 25*> routines. 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 DERRTR( 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 = 2 ) 70* .. 71* .. Local Scalars .. 72 CHARACTER*2 C2 73 INTEGER INFO 74 DOUBLE PRECISION RCOND, SCALE 75* .. 76* .. Local Arrays .. 77 INTEGER IW( NMAX ) 78 DOUBLE PRECISION A( NMAX, NMAX ), B( NMAX ), R1( NMAX ), 79 $ R2( NMAX ), W( NMAX ), X( NMAX ) 80* .. 81* .. External Functions .. 82 LOGICAL LSAMEN 83 EXTERNAL LSAMEN 84* .. 85* .. External Subroutines .. 86 EXTERNAL ALAESM, CHKXER, DLATBS, DLATPS, DLATRS, DTBCON, 87 $ DTBRFS, DTBTRS, DTPCON, DTPRFS, DTPTRI, DTPTRS, 88 $ DTRCON, DTRRFS, DTRTI2, DTRTRI, DTRTRS 89* .. 90* .. Scalars in Common .. 91 LOGICAL LERR, OK 92 CHARACTER*32 SRNAMT 93 INTEGER INFOT, NOUT 94* .. 95* .. Common blocks .. 96 COMMON / INFOC / INFOT, NOUT, OK, LERR 97 COMMON / SRNAMC / SRNAMT 98* .. 99* .. Executable Statements .. 100* 101 NOUT = NUNIT 102 WRITE( NOUT, FMT = * ) 103 C2 = PATH( 2: 3 ) 104 A( 1, 1 ) = 1.D0 105 A( 1, 2 ) = 2.D0 106 A( 2, 2 ) = 3.D0 107 A( 2, 1 ) = 4.D0 108 OK = .TRUE. 109* 110 IF( LSAMEN( 2, C2, 'TR' ) ) THEN 111* 112* Test error exits for the general triangular routines. 113* 114* DTRTRI 115* 116 SRNAMT = 'DTRTRI' 117 INFOT = 1 118 CALL DTRTRI( '/', 'N', 0, A, 1, INFO ) 119 CALL CHKXER( 'DTRTRI', INFOT, NOUT, LERR, OK ) 120 INFOT = 2 121 CALL DTRTRI( 'U', '/', 0, A, 1, INFO ) 122 CALL CHKXER( 'DTRTRI', INFOT, NOUT, LERR, OK ) 123 INFOT = 3 124 CALL DTRTRI( 'U', 'N', -1, A, 1, INFO ) 125 CALL CHKXER( 'DTRTRI', INFOT, NOUT, LERR, OK ) 126 INFOT = 5 127 CALL DTRTRI( 'U', 'N', 2, A, 1, INFO ) 128 CALL CHKXER( 'DTRTRI', INFOT, NOUT, LERR, OK ) 129* 130* DTRTI2 131* 132 SRNAMT = 'DTRTI2' 133 INFOT = 1 134 CALL DTRTI2( '/', 'N', 0, A, 1, INFO ) 135 CALL CHKXER( 'DTRTI2', INFOT, NOUT, LERR, OK ) 136 INFOT = 2 137 CALL DTRTI2( 'U', '/', 0, A, 1, INFO ) 138 CALL CHKXER( 'DTRTI2', INFOT, NOUT, LERR, OK ) 139 INFOT = 3 140 CALL DTRTI2( 'U', 'N', -1, A, 1, INFO ) 141 CALL CHKXER( 'DTRTI2', INFOT, NOUT, LERR, OK ) 142 INFOT = 5 143 CALL DTRTI2( 'U', 'N', 2, A, 1, INFO ) 144 CALL CHKXER( 'DTRTI2', INFOT, NOUT, LERR, OK ) 145* 146* DTRTRS 147* 148 SRNAMT = 'DTRTRS' 149 INFOT = 1 150 CALL DTRTRS( '/', 'N', 'N', 0, 0, A, 1, X, 1, INFO ) 151 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 152 INFOT = 2 153 CALL DTRTRS( 'U', '/', 'N', 0, 0, A, 1, X, 1, INFO ) 154 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 155 INFOT = 3 156 CALL DTRTRS( 'U', 'N', '/', 0, 0, A, 1, X, 1, INFO ) 157 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 158 INFOT = 4 159 CALL DTRTRS( 'U', 'N', 'N', -1, 0, A, 1, X, 1, INFO ) 160 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 161 INFOT = 5 162 CALL DTRTRS( 'U', 'N', 'N', 0, -1, A, 1, X, 1, INFO ) 163 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 164 INFOT = 7 165 CALL DTRTRS( 'U', 'N', 'N', 2, 1, A, 1, X, 2, INFO ) 166 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 167 INFOT = 9 168 CALL DTRTRS( 'U', 'N', 'N', 2, 1, A, 2, X, 1, INFO ) 169 CALL CHKXER( 'DTRTRS', INFOT, NOUT, LERR, OK ) 170* 171* DTRRFS 172* 173 SRNAMT = 'DTRRFS' 174 INFOT = 1 175 CALL DTRRFS( '/', 'N', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W, 176 $ IW, INFO ) 177 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 178 INFOT = 2 179 CALL DTRRFS( 'U', '/', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W, 180 $ IW, INFO ) 181 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 182 INFOT = 3 183 CALL DTRRFS( 'U', 'N', '/', 0, 0, A, 1, B, 1, X, 1, R1, R2, W, 184 $ IW, INFO ) 185 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 186 INFOT = 4 187 CALL DTRRFS( 'U', 'N', 'N', -1, 0, A, 1, B, 1, X, 1, R1, R2, W, 188 $ IW, INFO ) 189 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 190 INFOT = 5 191 CALL DTRRFS( 'U', 'N', 'N', 0, -1, A, 1, B, 1, X, 1, R1, R2, W, 192 $ IW, INFO ) 193 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 194 INFOT = 7 195 CALL DTRRFS( 'U', 'N', 'N', 2, 1, A, 1, B, 2, X, 2, R1, R2, W, 196 $ IW, INFO ) 197 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 198 INFOT = 9 199 CALL DTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 1, X, 2, R1, R2, W, 200 $ IW, INFO ) 201 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 202 INFOT = 11 203 CALL DTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 2, X, 1, R1, R2, W, 204 $ IW, INFO ) 205 CALL CHKXER( 'DTRRFS', INFOT, NOUT, LERR, OK ) 206* 207* DTRCON 208* 209 SRNAMT = 'DTRCON' 210 INFOT = 1 211 CALL DTRCON( '/', 'U', 'N', 0, A, 1, RCOND, W, IW, INFO ) 212 CALL CHKXER( 'DTRCON', INFOT, NOUT, LERR, OK ) 213 INFOT = 2 214 CALL DTRCON( '1', '/', 'N', 0, A, 1, RCOND, W, IW, INFO ) 215 CALL CHKXER( 'DTRCON', INFOT, NOUT, LERR, OK ) 216 INFOT = 3 217 CALL DTRCON( '1', 'U', '/', 0, A, 1, RCOND, W, IW, INFO ) 218 CALL CHKXER( 'DTRCON', INFOT, NOUT, LERR, OK ) 219 INFOT = 4 220 CALL DTRCON( '1', 'U', 'N', -1, A, 1, RCOND, W, IW, INFO ) 221 CALL CHKXER( 'DTRCON', INFOT, NOUT, LERR, OK ) 222 INFOT = 6 223 CALL DTRCON( '1', 'U', 'N', 2, A, 1, RCOND, W, IW, INFO ) 224 CALL CHKXER( 'DTRCON', INFOT, NOUT, LERR, OK ) 225* 226* DLATRS 227* 228 SRNAMT = 'DLATRS' 229 INFOT = 1 230 CALL DLATRS( '/', 'N', 'N', 'N', 0, A, 1, X, SCALE, W, INFO ) 231 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 232 INFOT = 2 233 CALL DLATRS( 'U', '/', 'N', 'N', 0, A, 1, X, SCALE, W, INFO ) 234 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 235 INFOT = 3 236 CALL DLATRS( 'U', 'N', '/', 'N', 0, A, 1, X, SCALE, W, INFO ) 237 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 238 INFOT = 4 239 CALL DLATRS( 'U', 'N', 'N', '/', 0, A, 1, X, SCALE, W, INFO ) 240 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 241 INFOT = 5 242 CALL DLATRS( 'U', 'N', 'N', 'N', -1, A, 1, X, SCALE, W, INFO ) 243 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 244 INFOT = 7 245 CALL DLATRS( 'U', 'N', 'N', 'N', 2, A, 1, X, SCALE, W, INFO ) 246 CALL CHKXER( 'DLATRS', INFOT, NOUT, LERR, OK ) 247* 248 ELSE IF( LSAMEN( 2, C2, 'TP' ) ) THEN 249* 250* Test error exits for the packed triangular routines. 251* 252* DTPTRI 253* 254 SRNAMT = 'DTPTRI' 255 INFOT = 1 256 CALL DTPTRI( '/', 'N', 0, A, INFO ) 257 CALL CHKXER( 'DTPTRI', INFOT, NOUT, LERR, OK ) 258 INFOT = 2 259 CALL DTPTRI( 'U', '/', 0, A, INFO ) 260 CALL CHKXER( 'DTPTRI', INFOT, NOUT, LERR, OK ) 261 INFOT = 3 262 CALL DTPTRI( 'U', 'N', -1, A, INFO ) 263 CALL CHKXER( 'DTPTRI', INFOT, NOUT, LERR, OK ) 264* 265* DTPTRS 266* 267 SRNAMT = 'DTPTRS' 268 INFOT = 1 269 CALL DTPTRS( '/', 'N', 'N', 0, 0, A, X, 1, INFO ) 270 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 271 INFOT = 2 272 CALL DTPTRS( 'U', '/', 'N', 0, 0, A, X, 1, INFO ) 273 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 274 INFOT = 3 275 CALL DTPTRS( 'U', 'N', '/', 0, 0, A, X, 1, INFO ) 276 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 277 INFOT = 4 278 CALL DTPTRS( 'U', 'N', 'N', -1, 0, A, X, 1, INFO ) 279 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 280 INFOT = 5 281 CALL DTPTRS( 'U', 'N', 'N', 0, -1, A, X, 1, INFO ) 282 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 283 INFOT = 8 284 CALL DTPTRS( 'U', 'N', 'N', 2, 1, A, X, 1, INFO ) 285 CALL CHKXER( 'DTPTRS', INFOT, NOUT, LERR, OK ) 286* 287* DTPRFS 288* 289 SRNAMT = 'DTPRFS' 290 INFOT = 1 291 CALL DTPRFS( '/', 'N', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, IW, 292 $ INFO ) 293 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 294 INFOT = 2 295 CALL DTPRFS( 'U', '/', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, IW, 296 $ INFO ) 297 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 298 INFOT = 3 299 CALL DTPRFS( 'U', 'N', '/', 0, 0, A, B, 1, X, 1, R1, R2, W, IW, 300 $ INFO ) 301 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 302 INFOT = 4 303 CALL DTPRFS( 'U', 'N', 'N', -1, 0, A, B, 1, X, 1, R1, R2, W, 304 $ IW, INFO ) 305 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 306 INFOT = 5 307 CALL DTPRFS( 'U', 'N', 'N', 0, -1, A, B, 1, X, 1, R1, R2, W, 308 $ IW, INFO ) 309 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 310 INFOT = 8 311 CALL DTPRFS( 'U', 'N', 'N', 2, 1, A, B, 1, X, 2, R1, R2, W, IW, 312 $ INFO ) 313 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 314 INFOT = 10 315 CALL DTPRFS( 'U', 'N', 'N', 2, 1, A, B, 2, X, 1, R1, R2, W, IW, 316 $ INFO ) 317 CALL CHKXER( 'DTPRFS', INFOT, NOUT, LERR, OK ) 318* 319* DTPCON 320* 321 SRNAMT = 'DTPCON' 322 INFOT = 1 323 CALL DTPCON( '/', 'U', 'N', 0, A, RCOND, W, IW, INFO ) 324 CALL CHKXER( 'DTPCON', INFOT, NOUT, LERR, OK ) 325 INFOT = 2 326 CALL DTPCON( '1', '/', 'N', 0, A, RCOND, W, IW, INFO ) 327 CALL CHKXER( 'DTPCON', INFOT, NOUT, LERR, OK ) 328 INFOT = 3 329 CALL DTPCON( '1', 'U', '/', 0, A, RCOND, W, IW, INFO ) 330 CALL CHKXER( 'DTPCON', INFOT, NOUT, LERR, OK ) 331 INFOT = 4 332 CALL DTPCON( '1', 'U', 'N', -1, A, RCOND, W, IW, INFO ) 333 CALL CHKXER( 'DTPCON', INFOT, NOUT, LERR, OK ) 334* 335* DLATPS 336* 337 SRNAMT = 'DLATPS' 338 INFOT = 1 339 CALL DLATPS( '/', 'N', 'N', 'N', 0, A, X, SCALE, W, INFO ) 340 CALL CHKXER( 'DLATPS', INFOT, NOUT, LERR, OK ) 341 INFOT = 2 342 CALL DLATPS( 'U', '/', 'N', 'N', 0, A, X, SCALE, W, INFO ) 343 CALL CHKXER( 'DLATPS', INFOT, NOUT, LERR, OK ) 344 INFOT = 3 345 CALL DLATPS( 'U', 'N', '/', 'N', 0, A, X, SCALE, W, INFO ) 346 CALL CHKXER( 'DLATPS', INFOT, NOUT, LERR, OK ) 347 INFOT = 4 348 CALL DLATPS( 'U', 'N', 'N', '/', 0, A, X, SCALE, W, INFO ) 349 CALL CHKXER( 'DLATPS', INFOT, NOUT, LERR, OK ) 350 INFOT = 5 351 CALL DLATPS( 'U', 'N', 'N', 'N', -1, A, X, SCALE, W, INFO ) 352 CALL CHKXER( 'DLATPS', INFOT, NOUT, LERR, OK ) 353* 354 ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN 355* 356* Test error exits for the banded triangular routines. 357* 358* DTBTRS 359* 360 SRNAMT = 'DTBTRS' 361 INFOT = 1 362 CALL DTBTRS( '/', 'N', 'N', 0, 0, 0, A, 1, X, 1, INFO ) 363 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 364 INFOT = 2 365 CALL DTBTRS( 'U', '/', 'N', 0, 0, 0, A, 1, X, 1, INFO ) 366 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 367 INFOT = 3 368 CALL DTBTRS( 'U', 'N', '/', 0, 0, 0, A, 1, X, 1, INFO ) 369 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 370 INFOT = 4 371 CALL DTBTRS( 'U', 'N', 'N', -1, 0, 0, A, 1, X, 1, INFO ) 372 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 373 INFOT = 5 374 CALL DTBTRS( 'U', 'N', 'N', 0, -1, 0, A, 1, X, 1, INFO ) 375 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 376 INFOT = 6 377 CALL DTBTRS( 'U', 'N', 'N', 0, 0, -1, A, 1, X, 1, INFO ) 378 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 379 INFOT = 8 380 CALL DTBTRS( 'U', 'N', 'N', 2, 1, 1, A, 1, X, 2, INFO ) 381 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 382 INFOT = 10 383 CALL DTBTRS( 'U', 'N', 'N', 2, 0, 1, A, 1, X, 1, INFO ) 384 CALL CHKXER( 'DTBTRS', INFOT, NOUT, LERR, OK ) 385* 386* DTBRFS 387* 388 SRNAMT = 'DTBRFS' 389 INFOT = 1 390 CALL DTBRFS( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2, 391 $ W, IW, INFO ) 392 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 393 INFOT = 2 394 CALL DTBRFS( 'U', '/', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2, 395 $ W, IW, INFO ) 396 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 397 INFOT = 3 398 CALL DTBRFS( 'U', 'N', '/', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2, 399 $ W, IW, INFO ) 400 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 401 INFOT = 4 402 CALL DTBRFS( 'U', 'N', 'N', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2, 403 $ W, IW, INFO ) 404 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 405 INFOT = 5 406 CALL DTBRFS( 'U', 'N', 'N', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2, 407 $ W, IW, INFO ) 408 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 409 INFOT = 6 410 CALL DTBRFS( 'U', 'N', 'N', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2, 411 $ W, IW, INFO ) 412 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 413 INFOT = 8 414 CALL DTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 1, B, 2, X, 2, R1, R2, 415 $ W, IW, INFO ) 416 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 417 INFOT = 10 418 CALL DTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 1, X, 2, R1, R2, 419 $ W, IW, INFO ) 420 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 421 INFOT = 12 422 CALL DTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 2, X, 1, R1, R2, 423 $ W, IW, INFO ) 424 CALL CHKXER( 'DTBRFS', INFOT, NOUT, LERR, OK ) 425* 426* DTBCON 427* 428 SRNAMT = 'DTBCON' 429 INFOT = 1 430 CALL DTBCON( '/', 'U', 'N', 0, 0, A, 1, RCOND, W, IW, INFO ) 431 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 432 INFOT = 2 433 CALL DTBCON( '1', '/', 'N', 0, 0, A, 1, RCOND, W, IW, INFO ) 434 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 435 INFOT = 3 436 CALL DTBCON( '1', 'U', '/', 0, 0, A, 1, RCOND, W, IW, INFO ) 437 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 438 INFOT = 4 439 CALL DTBCON( '1', 'U', 'N', -1, 0, A, 1, RCOND, W, IW, INFO ) 440 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 441 INFOT = 5 442 CALL DTBCON( '1', 'U', 'N', 0, -1, A, 1, RCOND, W, IW, INFO ) 443 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 444 INFOT = 7 445 CALL DTBCON( '1', 'U', 'N', 2, 1, A, 1, RCOND, W, IW, INFO ) 446 CALL CHKXER( 'DTBCON', INFOT, NOUT, LERR, OK ) 447* 448* DLATBS 449* 450 SRNAMT = 'DLATBS' 451 INFOT = 1 452 CALL DLATBS( '/', 'N', 'N', 'N', 0, 0, A, 1, X, SCALE, W, 453 $ INFO ) 454 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 455 INFOT = 2 456 CALL DLATBS( 'U', '/', 'N', 'N', 0, 0, A, 1, X, SCALE, W, 457 $ INFO ) 458 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 459 INFOT = 3 460 CALL DLATBS( 'U', 'N', '/', 'N', 0, 0, A, 1, X, SCALE, W, 461 $ INFO ) 462 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 463 INFOT = 4 464 CALL DLATBS( 'U', 'N', 'N', '/', 0, 0, A, 1, X, SCALE, W, 465 $ INFO ) 466 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 467 INFOT = 5 468 CALL DLATBS( 'U', 'N', 'N', 'N', -1, 0, A, 1, X, SCALE, W, 469 $ INFO ) 470 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 471 INFOT = 6 472 CALL DLATBS( 'U', 'N', 'N', 'N', 1, -1, A, 1, X, SCALE, W, 473 $ INFO ) 474 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 475 INFOT = 8 476 CALL DLATBS( 'U', 'N', 'N', 'N', 2, 1, A, 1, X, SCALE, W, 477 $ INFO ) 478 CALL CHKXER( 'DLATBS', INFOT, NOUT, LERR, OK ) 479 END IF 480* 481* Print a summary line. 482* 483 CALL ALAESM( PATH, OK, NOUT ) 484* 485 RETURN 486* 487* End of DERRTR 488* 489 END 490