1*> \brief \b CERRGEX 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 CERRGE( 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*> CERRGE tests the error exits for the COMPLEX routines 25*> for general matrices. 26*> 27*> Note that this file is used only when the XBLAS are available, 28*> otherwise cerrge.f defines this subroutine. 29*> \endverbatim 30* 31* Arguments: 32* ========== 33* 34*> \param[in] PATH 35*> \verbatim 36*> PATH is CHARACTER*3 37*> The LAPACK path name for the routines to be tested. 38*> \endverbatim 39*> 40*> \param[in] NUNIT 41*> \verbatim 42*> NUNIT is INTEGER 43*> The unit number for output. 44*> \endverbatim 45* 46* Authors: 47* ======== 48* 49*> \author Univ. of Tennessee 50*> \author Univ. of California Berkeley 51*> \author Univ. of Colorado Denver 52*> \author NAG Ltd. 53* 54*> \date December 2016 55* 56*> \ingroup complex_lin 57* 58* ===================================================================== 59 SUBROUTINE CERRGE( PATH, NUNIT ) 60* 61* -- LAPACK test routine (version 3.7.0) -- 62* -- LAPACK is a software package provided by Univ. of Tennessee, -- 63* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 64* December 2016 65* 66* .. Scalar Arguments .. 67 CHARACTER*3 PATH 68 INTEGER NUNIT 69* .. 70* 71* ===================================================================== 72* 73* .. Parameters .. 74 INTEGER NMAX 75 PARAMETER ( NMAX = 4 ) 76* .. 77* .. Local Scalars .. 78 CHARACTER EQ 79 CHARACTER*2 C2 80 INTEGER I, INFO, J, N_ERR_BNDS, NPARAMS 81 REAL ANRM, CCOND, RCOND, BERR 82* .. 83* .. Local Arrays .. 84 INTEGER IP( NMAX ) 85 REAL R( NMAX ), R1( NMAX ), R2( NMAX ), CS( NMAX ), 86 $ RS( NMAX ) 87 COMPLEX A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ), 88 $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ), 89 $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 ) 90* .. 91* .. External Functions .. 92 LOGICAL LSAMEN 93 EXTERNAL LSAMEN 94* .. 95* .. External Subroutines .. 96 EXTERNAL ALAESM, CGBCON, CGBEQU, CGBRFS, CGBTF2, CGBTRF, 97 $ CGBTRS, CGECON, CGEEQU, CGERFS, CGETF2, CGETRF, 98 $ CGETRI, CGETRS, CHKXER, CGEEQUB, CGERFSX, 99 $ CGBEQUB, CGBRFSX 100* .. 101* .. Scalars in Common .. 102 LOGICAL LERR, OK 103 CHARACTER*32 SRNAMT 104 INTEGER INFOT, NOUT 105* .. 106* .. Common blocks .. 107 COMMON / INFOC / INFOT, NOUT, OK, LERR 108 COMMON / SRNAMC / SRNAMT 109* .. 110* .. Intrinsic Functions .. 111 INTRINSIC CMPLX, REAL 112* .. 113* .. Executable Statements .. 114* 115 NOUT = NUNIT 116 WRITE( NOUT, FMT = * ) 117 C2 = PATH( 2: 3 ) 118* 119* Set the variables to innocuous values. 120* 121 DO 20 J = 1, NMAX 122 DO 10 I = 1, NMAX 123 A( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) ) 124 AF( I, J ) = CMPLX( 1. / REAL( I+J ), -1. / REAL( I+J ) ) 125 10 CONTINUE 126 B( J ) = 0. 127 R1( J ) = 0. 128 R2( J ) = 0. 129 W( J ) = 0. 130 X( J ) = 0. 131 CS( J ) = 0. 132 RS( J ) = 0. 133 IP( J ) = J 134 20 CONTINUE 135 OK = .TRUE. 136* 137* Test error exits of the routines that use the LU decomposition 138* of a general matrix. 139* 140 IF( LSAMEN( 2, C2, 'GE' ) ) THEN 141* 142* CGETRF 143* 144 SRNAMT = 'CGETRF' 145 INFOT = 1 146 CALL CGETRF( -1, 0, A, 1, IP, INFO ) 147 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 148 INFOT = 2 149 CALL CGETRF( 0, -1, A, 1, IP, INFO ) 150 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 151 INFOT = 4 152 CALL CGETRF( 2, 1, A, 1, IP, INFO ) 153 CALL CHKXER( 'CGETRF', INFOT, NOUT, LERR, OK ) 154* 155* CGETF2 156* 157 SRNAMT = 'CGETF2' 158 INFOT = 1 159 CALL CGETF2( -1, 0, A, 1, IP, INFO ) 160 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 161 INFOT = 2 162 CALL CGETF2( 0, -1, A, 1, IP, INFO ) 163 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 164 INFOT = 4 165 CALL CGETF2( 2, 1, A, 1, IP, INFO ) 166 CALL CHKXER( 'CGETF2', INFOT, NOUT, LERR, OK ) 167* 168* CGETRI 169* 170 SRNAMT = 'CGETRI' 171 INFOT = 1 172 CALL CGETRI( -1, A, 1, IP, W, 1, INFO ) 173 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 174 INFOT = 3 175 CALL CGETRI( 2, A, 1, IP, W, 2, INFO ) 176 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 177 INFOT = 6 178 CALL CGETRI( 2, A, 2, IP, W, 1, INFO ) 179 CALL CHKXER( 'CGETRI', INFOT, NOUT, LERR, OK ) 180* 181* CGETRS 182* 183 SRNAMT = 'CGETRS' 184 INFOT = 1 185 CALL CGETRS( '/', 0, 0, A, 1, IP, B, 1, INFO ) 186 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 187 INFOT = 2 188 CALL CGETRS( 'N', -1, 0, A, 1, IP, B, 1, INFO ) 189 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 190 INFOT = 3 191 CALL CGETRS( 'N', 0, -1, A, 1, IP, B, 1, INFO ) 192 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 193 INFOT = 5 194 CALL CGETRS( 'N', 2, 1, A, 1, IP, B, 2, INFO ) 195 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 196 INFOT = 8 197 CALL CGETRS( 'N', 2, 1, A, 2, IP, B, 1, INFO ) 198 CALL CHKXER( 'CGETRS', INFOT, NOUT, LERR, OK ) 199* 200* CGERFS 201* 202 SRNAMT = 'CGERFS' 203 INFOT = 1 204 CALL CGERFS( '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, W, 205 $ R, INFO ) 206 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 207 INFOT = 2 208 CALL CGERFS( 'N', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 209 $ W, R, INFO ) 210 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 211 INFOT = 3 212 CALL CGERFS( 'N', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, R2, 213 $ W, R, INFO ) 214 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 215 INFOT = 5 216 CALL CGERFS( 'N', 2, 1, A, 1, AF, 2, IP, B, 2, X, 2, R1, R2, W, 217 $ R, INFO ) 218 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 219 INFOT = 7 220 CALL CGERFS( 'N', 2, 1, A, 2, AF, 1, IP, B, 2, X, 2, R1, R2, W, 221 $ R, INFO ) 222 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 223 INFOT = 10 224 CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 1, X, 2, R1, R2, W, 225 $ R, INFO ) 226 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 227 INFOT = 12 228 CALL CGERFS( 'N', 2, 1, A, 2, AF, 2, IP, B, 2, X, 1, R1, R2, W, 229 $ R, INFO ) 230 CALL CHKXER( 'CGERFS', INFOT, NOUT, LERR, OK ) 231* 232* CGERFSX 233* 234 N_ERR_BNDS = 3 235 NPARAMS = 0 236 SRNAMT = 'CGERFSX' 237 INFOT = 1 238 CALL CGERFSX( '/', EQ, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 239 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 240 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 241 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 242 INFOT = 2 243 EQ = '/' 244 CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 245 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 246 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 247 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 248 INFOT = 3 249 EQ = 'R' 250 CALL CGERFSX( 'N', EQ, -1, 0, A, 1, AF, 1, IP, RS, CS, B, 1, X, 251 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 252 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 253 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 254 INFOT = 4 255 CALL CGERFSX( 'N', EQ, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 1, X, 256 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 257 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 258 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 259 INFOT = 6 260 CALL CGERFSX( 'N', EQ, 2, 1, A, 1, AF, 2, IP, RS, CS, B, 2, X, 261 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 262 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 263 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 264 INFOT = 8 265 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 1, IP, RS, CS, B, 2, X, 266 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 267 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 268 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 269 INFOT = 13 270 EQ = 'C' 271 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 1, X, 272 $ 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 273 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 274 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 275 INFOT = 15 276 CALL CGERFSX( 'N', EQ, 2, 1, A, 2, AF, 2, IP, RS, CS, B, 2, X, 277 $ 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 278 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 279 CALL CHKXER( 'CGERFSX', INFOT, NOUT, LERR, OK ) 280* 281* CGECON 282* 283 SRNAMT = 'CGECON' 284 INFOT = 1 285 CALL CGECON( '/', 0, A, 1, ANRM, RCOND, W, R, INFO ) 286 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 287 INFOT = 2 288 CALL CGECON( '1', -1, A, 1, ANRM, RCOND, W, R, INFO ) 289 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 290 INFOT = 4 291 CALL CGECON( '1', 2, A, 1, ANRM, RCOND, W, R, INFO ) 292 CALL CHKXER( 'CGECON', INFOT, NOUT, LERR, OK ) 293* 294* CGEEQU 295* 296 SRNAMT = 'CGEEQU' 297 INFOT = 1 298 CALL CGEEQU( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 299 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 300 INFOT = 2 301 CALL CGEEQU( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 302 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 303 INFOT = 4 304 CALL CGEEQU( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 305 CALL CHKXER( 'CGEEQU', INFOT, NOUT, LERR, OK ) 306* 307* CGEEQUB 308* 309 SRNAMT = 'CGEEQUB' 310 INFOT = 1 311 CALL CGEEQUB( -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 312 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 313 INFOT = 2 314 CALL CGEEQUB( 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 315 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 316 INFOT = 4 317 CALL CGEEQUB( 2, 2, A, 1, R1, R2, RCOND, CCOND, ANRM, INFO ) 318 CALL CHKXER( 'CGEEQUB', INFOT, NOUT, LERR, OK ) 319* 320* Test error exits of the routines that use the LU decomposition 321* of a general band matrix. 322* 323 ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN 324* 325* CGBTRF 326* 327 SRNAMT = 'CGBTRF' 328 INFOT = 1 329 CALL CGBTRF( -1, 0, 0, 0, A, 1, IP, INFO ) 330 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 331 INFOT = 2 332 CALL CGBTRF( 0, -1, 0, 0, A, 1, IP, INFO ) 333 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 334 INFOT = 3 335 CALL CGBTRF( 1, 1, -1, 0, A, 1, IP, INFO ) 336 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 337 INFOT = 4 338 CALL CGBTRF( 1, 1, 0, -1, A, 1, IP, INFO ) 339 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 340 INFOT = 6 341 CALL CGBTRF( 2, 2, 1, 1, A, 3, IP, INFO ) 342 CALL CHKXER( 'CGBTRF', INFOT, NOUT, LERR, OK ) 343* 344* CGBTF2 345* 346 SRNAMT = 'CGBTF2' 347 INFOT = 1 348 CALL CGBTF2( -1, 0, 0, 0, A, 1, IP, INFO ) 349 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 350 INFOT = 2 351 CALL CGBTF2( 0, -1, 0, 0, A, 1, IP, INFO ) 352 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 353 INFOT = 3 354 CALL CGBTF2( 1, 1, -1, 0, A, 1, IP, INFO ) 355 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 356 INFOT = 4 357 CALL CGBTF2( 1, 1, 0, -1, A, 1, IP, INFO ) 358 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 359 INFOT = 6 360 CALL CGBTF2( 2, 2, 1, 1, A, 3, IP, INFO ) 361 CALL CHKXER( 'CGBTF2', INFOT, NOUT, LERR, OK ) 362* 363* CGBTRS 364* 365 SRNAMT = 'CGBTRS' 366 INFOT = 1 367 CALL CGBTRS( '/', 0, 0, 0, 1, A, 1, IP, B, 1, INFO ) 368 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 369 INFOT = 2 370 CALL CGBTRS( 'N', -1, 0, 0, 1, A, 1, IP, B, 1, INFO ) 371 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 372 INFOT = 3 373 CALL CGBTRS( 'N', 1, -1, 0, 1, A, 1, IP, B, 1, INFO ) 374 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 375 INFOT = 4 376 CALL CGBTRS( 'N', 1, 0, -1, 1, A, 1, IP, B, 1, INFO ) 377 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 378 INFOT = 5 379 CALL CGBTRS( 'N', 1, 0, 0, -1, A, 1, IP, B, 1, INFO ) 380 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 381 INFOT = 7 382 CALL CGBTRS( 'N', 2, 1, 1, 1, A, 3, IP, B, 2, INFO ) 383 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 384 INFOT = 10 385 CALL CGBTRS( 'N', 2, 0, 0, 1, A, 1, IP, B, 1, INFO ) 386 CALL CHKXER( 'CGBTRS', INFOT, NOUT, LERR, OK ) 387* 388* CGBRFS 389* 390 SRNAMT = 'CGBRFS' 391 INFOT = 1 392 CALL CGBRFS( '/', 0, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 393 $ R2, W, R, INFO ) 394 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 395 INFOT = 2 396 CALL CGBRFS( 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 397 $ R2, W, R, INFO ) 398 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 399 INFOT = 3 400 CALL CGBRFS( 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 401 $ R2, W, R, INFO ) 402 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 403 INFOT = 4 404 CALL CGBRFS( 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, B, 1, X, 1, R1, 405 $ R2, W, R, INFO ) 406 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 407 INFOT = 5 408 CALL CGBRFS( 'N', 1, 0, 0, -1, A, 1, AF, 1, IP, B, 1, X, 1, R1, 409 $ R2, W, R, INFO ) 410 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 411 INFOT = 7 412 CALL CGBRFS( 'N', 2, 1, 1, 1, A, 2, AF, 4, IP, B, 2, X, 2, R1, 413 $ R2, W, R, INFO ) 414 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 415 INFOT = 9 416 CALL CGBRFS( 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, B, 2, X, 2, R1, 417 $ R2, W, R, INFO ) 418 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 419 INFOT = 12 420 CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 1, X, 2, R1, 421 $ R2, W, R, INFO ) 422 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 423 INFOT = 14 424 CALL CGBRFS( 'N', 2, 0, 0, 1, A, 1, AF, 1, IP, B, 2, X, 1, R1, 425 $ R2, W, R, INFO ) 426 CALL CHKXER( 'CGBRFS', INFOT, NOUT, LERR, OK ) 427* 428* CGBRFSX 429* 430 N_ERR_BNDS = 3 431 NPARAMS = 0 432 SRNAMT = 'CGBRFSX' 433 INFOT = 1 434 CALL CGBRFSX( '/', EQ, 0, 0, 0, 0, A, 1, AF, 1, IP, RS, CS, B, 435 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 436 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 437 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 438 INFOT = 2 439 EQ = '/' 440 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 441 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 442 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 443 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 444 INFOT = 3 445 EQ = 'R' 446 CALL CGBRFSX( 'N', EQ, -1, 1, 1, 0, A, 1, AF, 1, IP, RS, CS, B, 447 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 448 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 449 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 450 INFOT = 4 451 EQ = 'R' 452 CALL CGBRFSX( 'N', EQ, 2, -1, 1, 1, A, 3, AF, 4, IP, RS, CS, B, 453 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 454 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 455 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 456 INFOT = 5 457 EQ = 'R' 458 CALL CGBRFSX( 'N', EQ, 2, 1, -1, 1, A, 3, AF, 4, IP, RS, CS, B, 459 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 460 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 461 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 462 INFOT = 6 463 CALL CGBRFSX( 'N', EQ, 0, 0, 0, -1, A, 1, AF, 1, IP, RS, CS, B, 464 $ 1, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 465 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 466 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 467 INFOT = 8 468 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 1, AF, 2, IP, RS, CS, B, 469 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 470 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 471 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 472 INFOT = 10 473 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 3, IP, RS, CS, B, 474 $ 2, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 475 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 476 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 477 INFOT = 13 478 EQ = 'C' 479 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 480 $ 1, X, 2, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 481 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 482 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 483 INFOT = 15 484 CALL CGBRFSX( 'N', EQ, 2, 1, 1, 1, A, 3, AF, 5, IP, RS, CS, B, 485 $ 2, X, 1, RCOND, BERR, N_ERR_BNDS, ERR_BNDS_N, 486 $ ERR_BNDS_C, NPARAMS, PARAMS, W, R, INFO ) 487 CALL CHKXER( 'CGBRFSX', INFOT, NOUT, LERR, OK ) 488* 489* CGBCON 490* 491 SRNAMT = 'CGBCON' 492 INFOT = 1 493 CALL CGBCON( '/', 0, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 494 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 495 INFOT = 2 496 CALL CGBCON( '1', -1, 0, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 497 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 498 INFOT = 3 499 CALL CGBCON( '1', 1, -1, 0, A, 1, IP, ANRM, RCOND, W, R, INFO ) 500 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 501 INFOT = 4 502 CALL CGBCON( '1', 1, 0, -1, A, 1, IP, ANRM, RCOND, W, R, INFO ) 503 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 504 INFOT = 6 505 CALL CGBCON( '1', 2, 1, 1, A, 3, IP, ANRM, RCOND, W, R, INFO ) 506 CALL CHKXER( 'CGBCON', INFOT, NOUT, LERR, OK ) 507* 508* CGBEQU 509* 510 SRNAMT = 'CGBEQU' 511 INFOT = 1 512 CALL CGBEQU( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 513 $ INFO ) 514 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 515 INFOT = 2 516 CALL CGBEQU( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 517 $ INFO ) 518 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 519 INFOT = 3 520 CALL CGBEQU( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 521 $ INFO ) 522 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 523 INFOT = 4 524 CALL CGBEQU( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 525 $ INFO ) 526 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 527 INFOT = 6 528 CALL CGBEQU( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 529 $ INFO ) 530 CALL CHKXER( 'CGBEQU', INFOT, NOUT, LERR, OK ) 531* 532* CGBEQUB 533* 534 SRNAMT = 'CGBEQUB' 535 INFOT = 1 536 CALL CGBEQUB( -1, 0, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 537 $ INFO ) 538 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 539 INFOT = 2 540 CALL CGBEQUB( 0, -1, 0, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 541 $ INFO ) 542 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 543 INFOT = 3 544 CALL CGBEQUB( 1, 1, -1, 0, A, 1, R1, R2, RCOND, CCOND, ANRM, 545 $ INFO ) 546 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 547 INFOT = 4 548 CALL CGBEQUB( 1, 1, 0, -1, A, 1, R1, R2, RCOND, CCOND, ANRM, 549 $ INFO ) 550 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 551 INFOT = 6 552 CALL CGBEQUB( 2, 2, 1, 1, A, 2, R1, R2, RCOND, CCOND, ANRM, 553 $ INFO ) 554 CALL CHKXER( 'CGBEQUB', INFOT, NOUT, LERR, OK ) 555 END IF 556* 557* Print a summary line. 558* 559 CALL ALAESM( PATH, OK, NOUT ) 560* 561 RETURN 562* 563* End of CERRGE 564* 565 END 566