1*> \brief \b SERRGG 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 SERRGG( 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*> SERRGG tests the error exits for SGGES, SGGESX, SGGEV, SGGEVX, 25*> SGGES3, SGGEV3, SGGGLM, SGGHRD, SGGLSE, SGGQRF, SGGRQF, 26*> SGGSVD3, SGGSVP3, SHGEQZ, SORCSD, STGEVC, STGEXC, STGSEN, 27*> STGSJA, STGSNA, and STGSYL. 28*> \endverbatim 29* 30* Arguments: 31* ========== 32* 33*> \param[in] PATH 34*> \verbatim 35*> PATH is CHARACTER*3 36*> The LAPACK path name for the routines to be tested. 37*> \endverbatim 38*> 39*> \param[in] NUNIT 40*> \verbatim 41*> NUNIT is INTEGER 42*> The unit number for output. 43*> \endverbatim 44* 45* Authors: 46* ======== 47* 48*> \author Univ. of Tennessee 49*> \author Univ. of California Berkeley 50*> \author Univ. of Colorado Denver 51*> \author NAG Ltd. 52* 53*> \ingroup single_eig 54* 55* ===================================================================== 56 SUBROUTINE SERRGG( PATH, NUNIT ) 57* 58* -- LAPACK test routine -- 59* -- LAPACK is a software package provided by Univ. of Tennessee, -- 60* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 61* 62* .. Scalar Arguments .. 63 CHARACTER*3 PATH 64 INTEGER NUNIT 65* .. 66* 67* ===================================================================== 68* 69* .. Parameters .. 70 INTEGER NMAX, LW 71 PARAMETER ( NMAX = 3, LW = 6*NMAX ) 72 REAL ONE, ZERO 73 PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 ) 74* .. 75* .. Local Scalars .. 76 CHARACTER*2 C2 77 INTEGER DUMMYK, DUMMYL, I, IFST, ILO, IHI, ILST, INFO, 78 $ J, M, NCYCLE, NT, SDIM, LWORK 79 REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB 80* .. 81* .. Local Arrays .. 82 LOGICAL BW( NMAX ), SEL( NMAX ) 83 INTEGER IW( NMAX ), IDUM(NMAX) 84 REAL A( NMAX, NMAX ), B( NMAX, NMAX ), LS( NMAX ), 85 $ Q( NMAX, NMAX ), R1( NMAX ), R2( NMAX ), 86 $ R3( NMAX ), RCE( 2 ), RCV( 2 ), RS( NMAX ), 87 $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ), 88 $ W( LW ), Z( NMAX, NMAX ) 89* .. 90* .. External Functions .. 91 LOGICAL LSAMEN, SLCTES, SLCTSX 92 EXTERNAL LSAMEN, SLCTES, SLCTSX 93* .. 94* .. External Subroutines .. 95 EXTERNAL CHKXER, SGGES, SGGESX, SGGEV, SGGEVX, SGGGLM, 96 $ SGGHRD, SGGLSE, SGGQRF, SGGRQF, 97 $ SHGEQZ, SORCSD, STGEVC, STGEXC, STGSEN, STGSJA, 98 $ STGSNA, STGSYL, SGGES3, SGGEV3, SGGHD3, 99 $ SGGSVD3, SGGSVP3, XLAENV 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* .. Executable Statements .. 111* 112 NOUT = NUNIT 113 WRITE( NOUT, FMT = * ) 114 C2 = PATH( 2: 3 ) 115* 116* Set the variables to innocuous values. 117* 118 DO 20 J = 1, NMAX 119 SEL( J ) = .TRUE. 120 DO 10 I = 1, NMAX 121 A( I, J ) = ZERO 122 B( I, J ) = ZERO 123 10 CONTINUE 124 20 CONTINUE 125 DO 30 I = 1, NMAX 126 A( I, I ) = ONE 127 B( I, I ) = ONE 128 30 CONTINUE 129 OK = .TRUE. 130 TOLA = 1.0E0 131 TOLB = 1.0E0 132 IFST = 1 133 ILST = 1 134 NT = 0 135 LWORK = 1 136* 137* Call XLAENV to set the parameters used in CLAQZ0 138* 139 CALL XLAENV( 12, 10 ) 140 CALL XLAENV( 13, 12 ) 141 CALL XLAENV( 14, 13 ) 142 CALL XLAENV( 15, 2 ) 143 CALL XLAENV( 17, 10 ) 144* 145* Test error exits for the GG path. 146* 147 IF( LSAMEN( 2, C2, 'GG' ) ) THEN 148* 149* SGGHRD 150* 151 SRNAMT = 'SGGHRD' 152 INFOT = 1 153 CALL SGGHRD( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO ) 154 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 155 INFOT = 2 156 CALL SGGHRD( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO ) 157 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 158 INFOT = 3 159 CALL SGGHRD( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO ) 160 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 161 INFOT = 4 162 CALL SGGHRD( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO ) 163 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 164 INFOT = 5 165 CALL SGGHRD( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, INFO ) 166 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 167 INFOT = 7 168 CALL SGGHRD( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, INFO ) 169 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 170 INFOT = 9 171 CALL SGGHRD( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO ) 172 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 173 INFOT = 11 174 CALL SGGHRD( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO ) 175 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 176 INFOT = 13 177 CALL SGGHRD( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO ) 178 CALL CHKXER( 'SGGHRD', INFOT, NOUT, LERR, OK ) 179 NT = NT + 9 180* 181* SGGHD3 182* 183 SRNAMT = 'SGGHD3' 184 INFOT = 1 185 CALL SGGHD3( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW, 186 $ INFO ) 187 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 188 INFOT = 2 189 CALL SGGHD3( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW, 190 $ INFO ) 191 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 192 INFOT = 3 193 CALL SGGHD3( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW, 194 $ INFO ) 195 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 196 INFOT = 4 197 CALL SGGHD3( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, W, LW, 198 $ INFO ) 199 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 200 INFOT = 5 201 CALL SGGHD3( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, W, LW, 202 $ INFO ) 203 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 204 INFOT = 7 205 CALL SGGHD3( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, W, LW, 206 $ INFO ) 207 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 208 INFOT = 9 209 CALL SGGHD3( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, W, LW, 210 $ INFO ) 211 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 212 INFOT = 11 213 CALL SGGHD3( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, W, LW, 214 $ INFO ) 215 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 216 INFOT = 13 217 CALL SGGHD3( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, W, LW, 218 $ INFO ) 219 CALL CHKXER( 'SGGHD3', INFOT, NOUT, LERR, OK ) 220 NT = NT + 9 221* 222* SHGEQZ 223* 224 SRNAMT = 'SHGEQZ' 225 INFOT = 1 226 CALL SHGEQZ( '/', 'N', 'N', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q, 227 $ 1, Z, 1, W, LW, INFO ) 228 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 229 INFOT = 2 230 CALL SHGEQZ( 'E', '/', 'N', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q, 231 $ 1, Z, 1, W, LW, INFO ) 232 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 233 INFOT = 3 234 CALL SHGEQZ( 'E', 'N', '/', 0, 1, 0, A, 1, B, 1, R1, R2, R3, Q, 235 $ 1, Z, 1, W, LW, INFO ) 236 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 237 INFOT = 4 238 CALL SHGEQZ( 'E', 'N', 'N', -1, 0, 0, A, 1, B, 1, R1, R2, R3, 239 $ Q, 1, Z, 1, W, LW, INFO ) 240 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 241 INFOT = 5 242 CALL SHGEQZ( 'E', 'N', 'N', 0, 0, 0, A, 1, B, 1, R1, R2, R3, Q, 243 $ 1, Z, 1, W, LW, INFO ) 244 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 245 INFOT = 6 246 CALL SHGEQZ( 'E', 'N', 'N', 0, 1, 1, A, 1, B, 1, R1, R2, R3, Q, 247 $ 1, Z, 1, W, LW, INFO ) 248 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 249 INFOT = 8 250 CALL SHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 1, B, 2, R1, R2, R3, Q, 251 $ 1, Z, 1, W, LW, INFO ) 252 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 253 INFOT = 10 254 CALL SHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 2, B, 1, R1, R2, R3, Q, 255 $ 1, Z, 1, W, LW, INFO ) 256 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 257 INFOT = 15 258 CALL SHGEQZ( 'E', 'V', 'N', 2, 1, 1, A, 2, B, 2, R1, R2, R3, Q, 259 $ 1, Z, 1, W, LW, INFO ) 260 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 261 INFOT = 17 262 CALL SHGEQZ( 'E', 'N', 'V', 2, 1, 1, A, 2, B, 2, R1, R2, R3, Q, 263 $ 1, Z, 1, W, LW, INFO ) 264 CALL CHKXER( 'SHGEQZ', INFOT, NOUT, LERR, OK ) 265 NT = NT + 10 266* 267* STGEVC 268* 269 SRNAMT = 'STGEVC' 270 INFOT = 1 271 CALL STGEVC( '/', 'A', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W, 272 $ INFO ) 273 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 274 INFOT = 2 275 CALL STGEVC( 'R', '/', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W, 276 $ INFO ) 277 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 278 INFOT = 4 279 CALL STGEVC( 'R', 'A', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M, 280 $ W, INFO ) 281 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 282 INFOT = 6 283 CALL STGEVC( 'R', 'A', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W, 284 $ INFO ) 285 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 286 INFOT = 8 287 CALL STGEVC( 'R', 'A', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W, 288 $ INFO ) 289 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 290 INFOT = 10 291 CALL STGEVC( 'L', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W, 292 $ INFO ) 293 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 294 INFOT = 12 295 CALL STGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W, 296 $ INFO ) 297 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 298 INFOT = 13 299 CALL STGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W, 300 $ INFO ) 301 CALL CHKXER( 'STGEVC', INFOT, NOUT, LERR, OK ) 302 NT = NT + 8 303* 304* Test error exits for the GSV path. 305* 306 ELSE IF( LSAMEN( 3, PATH, 'GSV' ) ) THEN 307* 308* SGGSVD3 309* 310 SRNAMT = 'SGGSVD3' 311 INFOT = 1 312 CALL SGGSVD3( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 313 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 314 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 315 INFOT = 2 316 CALL SGGSVD3( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 317 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 318 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 319 INFOT = 3 320 CALL SGGSVD3( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 321 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 322 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 323 INFOT = 4 324 CALL SGGSVD3( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B, 325 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 326 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 327 INFOT = 5 328 CALL SGGSVD3( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B, 329 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 330 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 331 INFOT = 6 332 CALL SGGSVD3( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B, 333 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 334 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 335 INFOT = 10 336 CALL SGGSVD3( 'N', 'N', 'N', 2, 1, 1, DUMMYK, DUMMYL, A, 1, B, 337 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 338 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 339 INFOT = 12 340 CALL SGGSVD3( 'N', 'N', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B, 341 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 342 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 343 INFOT = 16 344 CALL SGGSVD3( 'U', 'N', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B, 345 $ 2, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 346 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 347 INFOT = 18 348 CALL SGGSVD3( 'N', 'V', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B, 349 $ 2, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 350 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 351 INFOT = 20 352 CALL SGGSVD3( 'N', 'N', 'Q', 1, 2, 1, DUMMYK, DUMMYL, A, 1, B, 353 $ 1, R1, R2, U, 1, V, 1, Q, 1, W, LWORK, IDUM, INFO ) 354 CALL CHKXER( 'SGGSVD3', INFOT, NOUT, LERR, OK ) 355 NT = NT + 11 356* 357* SGGSVP3 358* 359 SRNAMT = 'SGGSVP3' 360 INFOT = 1 361 CALL SGGSVP3( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB, 362 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 363 $ LWORK, INFO ) 364 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 365 INFOT = 2 366 CALL SGGSVP3( 'N', '/', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB, 367 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 368 $ LWORK, INFO ) 369 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 370 INFOT = 3 371 CALL SGGSVP3( 'N', 'N', '/', 0, 0, 0, A, 1, B, 1, TOLA, TOLB, 372 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 373 $ LWORK, INFO ) 374 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 375 INFOT = 4 376 CALL SGGSVP3( 'N', 'N', 'N', -1, 0, 0, A, 1, B, 1, TOLA, TOLB, 377 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 378 $ LWORK, INFO ) 379 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 380 INFOT = 5 381 CALL SGGSVP3( 'N', 'N', 'N', 0, -1, 0, A, 1, B, 1, TOLA, TOLB, 382 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 383 $ LWORK, INFO ) 384 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 385 INFOT = 6 386 CALL SGGSVP3( 'N', 'N', 'N', 0, 0, -1, A, 1, B, 1, TOLA, TOLB, 387 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 388 $ LWORK, INFO ) 389 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 390 INFOT = 8 391 CALL SGGSVP3( 'N', 'N', 'N', 2, 1, 1, A, 1, B, 1, TOLA, TOLB, 392 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 393 $ LWORK, INFO ) 394 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 395 INFOT = 10 396 CALL SGGSVP3( 'N', 'N', 'N', 1, 2, 1, A, 1, B, 1, TOLA, TOLB, 397 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 398 $ LWORK, INFO ) 399 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 400 INFOT = 16 401 CALL SGGSVP3( 'U', 'N', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB, 402 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 403 $ LWORK, INFO ) 404 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 405 INFOT = 18 406 CALL SGGSVP3( 'N', 'V', 'N', 1, 2, 1, A, 1, B, 2, TOLA, TOLB, 407 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 408 $ LWORK, INFO ) 409 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 410 INFOT = 20 411 CALL SGGSVP3( 'N', 'N', 'Q', 1, 1, 2, A, 1, B, 1, TOLA, TOLB, 412 $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, TAU, W, 413 $ LWORK, INFO ) 414 CALL CHKXER( 'SGGSVP3', INFOT, NOUT, LERR, OK ) 415 NT = NT + 11 416* 417* STGSJA 418* 419 SRNAMT = 'STGSJA' 420 INFOT = 1 421 CALL STGSJA( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 422 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 423 $ NCYCLE, INFO ) 424 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 425 INFOT = 2 426 CALL STGSJA( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 427 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 428 $ NCYCLE, INFO ) 429 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 430 INFOT = 3 431 CALL STGSJA( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 432 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 433 $ NCYCLE, INFO ) 434 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 435 INFOT = 4 436 CALL STGSJA( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B, 437 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 438 $ NCYCLE, INFO ) 439 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 440 INFOT = 5 441 CALL STGSJA( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B, 442 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 443 $ NCYCLE, INFO ) 444 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 445 INFOT = 6 446 CALL STGSJA( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B, 447 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 448 $ NCYCLE, INFO ) 449 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 450 INFOT = 10 451 CALL STGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 0, B, 452 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 453 $ NCYCLE, INFO ) 454 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 455 INFOT = 12 456 CALL STGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 457 $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W, 458 $ NCYCLE, INFO ) 459 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 460 INFOT = 18 461 CALL STGSJA( 'U', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 462 $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W, 463 $ NCYCLE, INFO ) 464 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 465 INFOT = 20 466 CALL STGSJA( 'N', 'V', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 467 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W, 468 $ NCYCLE, INFO ) 469 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 470 INFOT = 22 471 CALL STGSJA( 'N', 'N', 'Q', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B, 472 $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W, 473 $ NCYCLE, INFO ) 474 CALL CHKXER( 'STGSJA', INFOT, NOUT, LERR, OK ) 475 NT = NT + 11 476* 477* Test error exits for the GLM path. 478* 479 ELSE IF( LSAMEN( 3, PATH, 'GLM' ) ) THEN 480* 481* SGGGLM 482* 483 SRNAMT = 'SGGGLM' 484 INFOT = 1 485 CALL SGGGLM( -1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 486 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 487 INFOT = 2 488 CALL SGGGLM( 0, -1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 489 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 490 INFOT = 2 491 CALL SGGGLM( 0, 1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 492 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 493 INFOT = 3 494 CALL SGGGLM( 0, 0, -1, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 495 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 496 INFOT = 3 497 CALL SGGGLM( 1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 498 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 499 INFOT = 5 500 CALL SGGGLM( 0, 0, 0, A, 0, B, 1, R1, R2, R3, W, LW, INFO ) 501 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 502 INFOT = 7 503 CALL SGGGLM( 0, 0, 0, A, 1, B, 0, R1, R2, R3, W, LW, INFO ) 504 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 505 INFOT = 12 506 CALL SGGGLM( 1, 1, 1, A, 1, B, 1, R1, R2, R3, W, 1, INFO ) 507 CALL CHKXER( 'SGGGLM', INFOT, NOUT, LERR, OK ) 508 NT = NT + 8 509* 510* Test error exits for the LSE path. 511* 512 ELSE IF( LSAMEN( 3, PATH, 'LSE' ) ) THEN 513* 514* SGGLSE 515* 516 SRNAMT = 'SGGLSE' 517 INFOT = 1 518 CALL SGGLSE( -1, 0, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 519 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 520 INFOT = 2 521 CALL SGGLSE( 0, -1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 522 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 523 INFOT = 3 524 CALL SGGLSE( 0, 0, -1, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 525 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 526 INFOT = 3 527 CALL SGGLSE( 0, 0, 1, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 528 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 529 INFOT = 3 530 CALL SGGLSE( 0, 1, 0, A, 1, B, 1, R1, R2, R3, W, LW, INFO ) 531 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 532 INFOT = 5 533 CALL SGGLSE( 0, 0, 0, A, 0, B, 1, R1, R2, R3, W, LW, INFO ) 534 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 535 INFOT = 7 536 CALL SGGLSE( 0, 0, 0, A, 1, B, 0, R1, R2, R3, W, LW, INFO ) 537 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 538 INFOT = 12 539 CALL SGGLSE( 1, 1, 1, A, 1, B, 1, R1, R2, R3, W, 1, INFO ) 540 CALL CHKXER( 'SGGLSE', INFOT, NOUT, LERR, OK ) 541 NT = NT + 8 542* 543* Test error exits for the CSD path. 544* 545 ELSE IF( LSAMEN( 3, PATH, 'CSD' ) ) THEN 546* 547* SORCSD 548* 549 SRNAMT = 'SORCSD' 550 INFOT = 7 551 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 552 $ -1, 0, 0, A, 1, A, 553 $ 1, A, 1, A, 1, A, 554 $ A, 1, A, 1, A, 1, A, 555 $ 1, W, LW, IW, INFO ) 556 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 557 INFOT = 8 558 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 559 $ 1, -1, 0, A, 1, A, 560 $ 1, A, 1, A, 1, A, 561 $ A, 1, A, 1, A, 1, A, 562 $ 1, W, LW, IW, INFO ) 563 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 564 INFOT = 9 565 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 566 $ 1, 1, -1, A, 1, A, 567 $ 1, A, 1, A, 1, A, 568 $ A, 1, A, 1, A, 1, A, 569 $ 1, W, LW, IW, INFO ) 570 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 571 INFOT = 11 572 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 573 $ 1, 1, 1, A, -1, A, 574 $ 1, A, 1, A, 1, A, 575 $ A, 1, A, 1, A, 1, A, 576 $ 1, W, LW, IW, INFO ) 577 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 578 INFOT = 20 579 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 580 $ 1, 1, 1, A, 1, A, 581 $ 1, A, 1, A, 1, A, 582 $ A, -1, A, 1, A, 1, A, 583 $ 1, W, LW, IW, INFO ) 584 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 585 INFOT = 22 586 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 587 $ 1, 1, 1, A, 1, A, 588 $ 1, A, 1, A, 1, A, 589 $ A, 1, A, -1, A, 1, A, 590 $ 1, W, LW, IW, INFO ) 591 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 592 INFOT = 24 593 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 594 $ 1, 1, 1, A, 1, A, 595 $ 1, A, 1, A, 1, A, 596 $ A, 1, A, 1, A, -1, A, 597 $ 1, W, LW, IW, INFO ) 598 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 599 INFOT = 26 600 CALL SORCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N', 601 $ 1, 1, 1, A, 1, A, 602 $ 1, A, 1, A, 1, A, 603 $ A, 1, A, 1, A, 1, A, 604 $ -1, W, LW, IW, INFO ) 605 CALL CHKXER( 'SORCSD', INFOT, NOUT, LERR, OK ) 606 NT = NT + 8 607* 608* Test error exits for the GQR path. 609* 610 ELSE IF( LSAMEN( 3, PATH, 'GQR' ) ) THEN 611* 612* SGGQRF 613* 614 SRNAMT = 'SGGQRF' 615 INFOT = 1 616 CALL SGGQRF( -1, 0, 0, A, 1, R1, B, 1, R2, W, LW, INFO ) 617 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 618 INFOT = 2 619 CALL SGGQRF( 0, -1, 0, A, 1, R1, B, 1, R2, W, LW, INFO ) 620 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 621 INFOT = 3 622 CALL SGGQRF( 0, 0, -1, A, 1, R1, B, 1, R2, W, LW, INFO ) 623 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 624 INFOT = 5 625 CALL SGGQRF( 0, 0, 0, A, 0, R1, B, 1, R2, W, LW, INFO ) 626 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 627 INFOT = 8 628 CALL SGGQRF( 0, 0, 0, A, 1, R1, B, 0, R2, W, LW, INFO ) 629 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 630 INFOT = 11 631 CALL SGGQRF( 1, 1, 2, A, 1, R1, B, 1, R2, W, 1, INFO ) 632 CALL CHKXER( 'SGGQRF', INFOT, NOUT, LERR, OK ) 633 NT = NT + 6 634* 635* SGGRQF 636* 637 SRNAMT = 'SGGRQF' 638 INFOT = 1 639 CALL SGGRQF( -1, 0, 0, A, 1, R1, B, 1, R2, W, LW, INFO ) 640 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 641 INFOT = 2 642 CALL SGGRQF( 0, -1, 0, A, 1, R1, B, 1, R2, W, LW, INFO ) 643 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 644 INFOT = 3 645 CALL SGGRQF( 0, 0, -1, A, 1, R1, B, 1, R2, W, LW, INFO ) 646 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 647 INFOT = 5 648 CALL SGGRQF( 0, 0, 0, A, 0, R1, B, 1, R2, W, LW, INFO ) 649 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 650 INFOT = 8 651 CALL SGGRQF( 0, 0, 0, A, 1, R1, B, 0, R2, W, LW, INFO ) 652 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 653 INFOT = 11 654 CALL SGGRQF( 1, 1, 2, A, 1, R1, B, 1, R2, W, 1, INFO ) 655 CALL CHKXER( 'SGGRQF', INFOT, NOUT, LERR, OK ) 656 NT = NT + 6 657* 658* Test error exits for the SGS, SGV, SGX, and SXV paths. 659* 660 ELSE IF( LSAMEN( 3, PATH, 'SGS' ) .OR. 661 $ LSAMEN( 3, PATH, 'SGV' ) .OR. 662 $ LSAMEN( 3, PATH, 'SGX' ) .OR. LSAMEN( 3, PATH, 'SXV' ) ) 663 $ THEN 664* 665* SGGES 666* 667 SRNAMT = 'SGGES ' 668 INFOT = 1 669 CALL SGGES( '/', 'N', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2, 670 $ R3, Q, 1, U, 1, W, 1, BW, INFO ) 671 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 672 INFOT = 2 673 CALL SGGES( 'N', '/', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2, 674 $ R3, Q, 1, U, 1, W, 1, BW, INFO ) 675 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 676 INFOT = 3 677 CALL SGGES( 'N', 'V', '/', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2, 678 $ R3, Q, 1, U, 1, W, 1, BW, INFO ) 679 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 680 INFOT = 5 681 CALL SGGES( 'N', 'V', 'S', SLCTES, -1, A, 1, B, 1, SDIM, R1, 682 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 683 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 684 INFOT = 7 685 CALL SGGES( 'N', 'V', 'S', SLCTES, 1, A, 0, B, 1, SDIM, R1, R2, 686 $ R3, Q, 1, U, 1, W, 1, BW, INFO ) 687 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 688 INFOT = 9 689 CALL SGGES( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 0, SDIM, R1, R2, 690 $ R3, Q, 1, U, 1, W, 1, BW, INFO ) 691 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 692 INFOT = 15 693 CALL SGGES( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2, 694 $ R3, Q, 0, U, 1, W, 1, BW, INFO ) 695 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 696 INFOT = 15 697 CALL SGGES( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2, 698 $ R3, Q, 1, U, 2, W, 1, BW, INFO ) 699 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 700 INFOT = 17 701 CALL SGGES( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, R2, 702 $ R3, Q, 1, U, 0, W, 1, BW, INFO ) 703 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 704 INFOT = 17 705 CALL SGGES( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2, 706 $ R3, Q, 2, U, 1, W, 1, BW, INFO ) 707 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 708 INFOT = 19 709 CALL SGGES( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, R2, 710 $ R3, Q, 2, U, 2, W, 1, BW, INFO ) 711 CALL CHKXER( 'SGGES ', INFOT, NOUT, LERR, OK ) 712 NT = NT + 11 713* 714* SGGES3 715* 716 SRNAMT = 'SGGES3' 717 INFOT = 1 718 CALL SGGES3( '/', 'N', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, 719 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 720 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 721 INFOT = 2 722 CALL SGGES3( 'N', '/', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, 723 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 724 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 725 INFOT = 3 726 CALL SGGES3( 'N', 'V', '/', SLCTES, 1, A, 1, B, 1, SDIM, R1, 727 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 728 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 729 INFOT = 5 730 CALL SGGES3( 'N', 'V', 'S', SLCTES, -1, A, 1, B, 1, SDIM, R1, 731 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 732 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 733 INFOT = 7 734 CALL SGGES3( 'N', 'V', 'S', SLCTES, 1, A, 0, B, 1, SDIM, R1, 735 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 736 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 737 INFOT = 9 738 CALL SGGES3( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 0, SDIM, R1, 739 $ R2, R3, Q, 1, U, 1, W, 1, BW, INFO ) 740 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 741 INFOT = 15 742 CALL SGGES3( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, 743 $ R2, R3, Q, 0, U, 1, W, 1, BW, INFO ) 744 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 745 INFOT = 15 746 CALL SGGES3( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, 747 $ R2, R3, Q, 1, U, 2, W, 1, BW, INFO ) 748 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 749 INFOT = 17 750 CALL SGGES3( 'N', 'V', 'S', SLCTES, 1, A, 1, B, 1, SDIM, R1, 751 $ R2, R3, Q, 1, U, 0, W, 1, BW, INFO ) 752 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 753 INFOT = 17 754 CALL SGGES3( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, 755 $ R2, R3, Q, 2, U, 1, W, 1, BW, INFO ) 756 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 757 INFOT = 19 758 CALL SGGES3( 'V', 'V', 'S', SLCTES, 2, A, 2, B, 2, SDIM, R1, 759 $ R2, R3, Q, 2, U, 2, W, 1, BW, INFO ) 760 CALL CHKXER( 'SGGES3 ', INFOT, NOUT, LERR, OK ) 761 NT = NT + 11 762* 763* SGGESX 764* 765 SRNAMT = 'SGGESX' 766 INFOT = 1 767 CALL SGGESX( '/', 'N', 'S', SLCTSX, 'N', 1, A, 1, B, 1, SDIM, 768 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 769 $ INFO ) 770 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 771 INFOT = 2 772 CALL SGGESX( 'N', '/', 'S', SLCTSX, 'N', 1, A, 1, B, 1, SDIM, 773 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 774 $ INFO ) 775 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 776 INFOT = 3 777 CALL SGGESX( 'V', 'V', '/', SLCTSX, 'N', 1, A, 1, B, 1, SDIM, 778 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 779 $ INFO ) 780 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 781 INFOT = 5 782 CALL SGGESX( 'V', 'V', 'S', SLCTSX, '/', 1, A, 1, B, 1, SDIM, 783 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 784 $ INFO ) 785 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 786 INFOT = 6 787 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', -1, A, 1, B, 1, SDIM, 788 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 789 $ INFO ) 790 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 791 INFOT = 8 792 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 1, A, 0, B, 1, SDIM, 793 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 794 $ INFO ) 795 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 796 INFOT = 10 797 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 1, A, 1, B, 0, SDIM, 798 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 799 $ INFO ) 800 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 801 INFOT = 16 802 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 1, A, 1, B, 1, SDIM, 803 $ R1, R2, R3, Q, 0, U, 1, RCE, RCV, W, 1, IW, 1, BW, 804 $ INFO ) 805 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 806 INFOT = 16 807 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 2, A, 2, B, 2, SDIM, 808 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 1, IW, 1, BW, 809 $ INFO ) 810 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 811 INFOT = 18 812 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 1, A, 1, B, 1, SDIM, 813 $ R1, R2, R3, Q, 1, U, 0, RCE, RCV, W, 1, IW, 1, BW, 814 $ INFO ) 815 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 816 INFOT = 18 817 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 2, A, 2, B, 2, SDIM, 818 $ R1, R2, R3, Q, 2, U, 1, RCE, RCV, W, 1, IW, 1, BW, 819 $ INFO ) 820 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 821 INFOT = 22 822 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'B', 2, A, 2, B, 2, SDIM, 823 $ R1, R2, R3, Q, 2, U, 2, RCE, RCV, W, 1, IW, 1, BW, 824 $ INFO ) 825 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 826 INFOT = 24 827 CALL SGGESX( 'V', 'V', 'S', SLCTSX, 'V', 1, A, 1, B, 1, SDIM, 828 $ R1, R2, R3, Q, 1, U, 1, RCE, RCV, W, 32, IW, 0, 829 $ BW, INFO ) 830 CALL CHKXER( 'SGGESX', INFOT, NOUT, LERR, OK ) 831 NT = NT + 13 832* 833* SGGEV 834* 835 SRNAMT = 'SGGEV ' 836 INFOT = 1 837 CALL SGGEV( '/', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, W, 838 $ 1, INFO ) 839 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 840 INFOT = 2 841 CALL SGGEV( 'N', '/', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, W, 842 $ 1, INFO ) 843 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 844 INFOT = 3 845 CALL SGGEV( 'V', 'V', -1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, 846 $ W, 1, INFO ) 847 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 848 INFOT = 5 849 CALL SGGEV( 'V', 'V', 1, A, 0, B, 1, R1, R2, R3, Q, 1, U, 1, W, 850 $ 1, INFO ) 851 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 852 INFOT = 7 853 CALL SGGEV( 'V', 'V', 1, A, 1, B, 0, R1, R2, R3, Q, 1, U, 1, W, 854 $ 1, INFO ) 855 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 856 INFOT = 12 857 CALL SGGEV( 'N', 'V', 1, A, 1, B, 1, R1, R2, R3, Q, 0, U, 1, W, 858 $ 1, INFO ) 859 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 860 INFOT = 12 861 CALL SGGEV( 'V', 'V', 2, A, 2, B, 2, R1, R2, R3, Q, 1, U, 2, W, 862 $ 1, INFO ) 863 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 864 INFOT = 14 865 CALL SGGEV( 'V', 'N', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 0, W, 866 $ 1, INFO ) 867 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 868 INFOT = 14 869 CALL SGGEV( 'V', 'V', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 1, W, 870 $ 1, INFO ) 871 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 872 INFOT = 16 873 CALL SGGEV( 'V', 'V', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, W, 874 $ 1, INFO ) 875 CALL CHKXER( 'SGGEV ', INFOT, NOUT, LERR, OK ) 876 NT = NT + 10 877* 878* SGGEV3 879* 880 SRNAMT = 'SGGEV3 ' 881 INFOT = 1 882 CALL SGGEV3( '/', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, 883 $ W, 1, INFO ) 884 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 885 INFOT = 2 886 CALL SGGEV3( 'N', '/', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, 887 $ W, 1, INFO ) 888 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 889 INFOT = 3 890 CALL SGGEV3( 'V', 'V', -1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, 891 $ W, 1, INFO ) 892 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 893 INFOT = 5 894 CALL SGGEV3( 'V', 'V', 1, A, 0, B, 1, R1, R2, R3, Q, 1, U, 1, 895 $ W, 1, INFO ) 896 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 897 INFOT = 7 898 CALL SGGEV3( 'V', 'V', 1, A, 1, B, 0, R1, R2, R3, Q, 1, U, 1, 899 $ W, 1, INFO ) 900 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 901 INFOT = 12 902 CALL SGGEV3( 'N', 'V', 1, A, 1, B, 1, R1, R2, R3, Q, 0, U, 1, 903 $ W, 1, INFO ) 904 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 905 INFOT = 12 906 CALL SGGEV3( 'V', 'V', 2, A, 2, B, 2, R1, R2, R3, Q, 1, U, 2, 907 $ W, 1, INFO ) 908 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 909 INFOT = 14 910 CALL SGGEV3( 'V', 'N', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 0, 911 $ W, 1, INFO ) 912 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 913 INFOT = 14 914 CALL SGGEV3( 'V', 'V', 2, A, 2, B, 2, R1, R2, R3, Q, 2, U, 1, 915 $ W, 1, INFO ) 916 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 917 INFOT = 16 918 CALL SGGEV3( 'V', 'V', 1, A, 1, B, 1, R1, R2, R3, Q, 1, U, 1, 919 $ W, 1, INFO ) 920 CALL CHKXER( 'SGGEV3 ', INFOT, NOUT, LERR, OK ) 921 NT = NT + 10 922* 923* SGGEVX 924* 925 SRNAMT = 'SGGEVX' 926 INFOT = 1 927 CALL SGGEVX( '/', 'N', 'N', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 928 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 929 $ W, 1, IW, BW, INFO ) 930 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 931 INFOT = 2 932 CALL SGGEVX( 'N', '/', 'N', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 933 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 934 $ W, 1, IW, BW, INFO ) 935 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 936 INFOT = 3 937 CALL SGGEVX( 'N', 'N', '/', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 938 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 939 $ W, 1, IW, BW, INFO ) 940 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 941 INFOT = 4 942 CALL SGGEVX( 'N', 'N', 'N', '/', 1, A, 1, B, 1, R1, R2, R3, Q, 943 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 944 $ W, 1, IW, BW, INFO ) 945 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 946 INFOT = 5 947 CALL SGGEVX( 'N', 'N', 'N', 'N', -1, A, 1, B, 1, R1, R2, R3, Q, 948 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 949 $ W, 1, IW, BW, INFO ) 950 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 951 INFOT = 7 952 CALL SGGEVX( 'N', 'N', 'N', 'N', 1, A, 0, B, 1, R1, R2, R3, Q, 953 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 954 $ W, 1, IW, BW, INFO ) 955 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 956 INFOT = 9 957 CALL SGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 0, R1, R2, R3, Q, 958 $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 959 $ W, 1, IW, BW, INFO ) 960 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 961 INFOT = 14 962 CALL SGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 963 $ 0, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 964 $ W, 1, IW, BW, INFO ) 965 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 966 INFOT = 14 967 CALL SGGEVX( 'N', 'V', 'N', 'N', 2, A, 2, B, 2, R1, R2, R3, Q, 968 $ 1, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 969 $ W, 1, IW, BW, INFO ) 970 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 971 INFOT = 16 972 CALL SGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, R1, R2, R3, Q, 973 $ 1, U, 0, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 974 $ W, 1, IW, BW, INFO ) 975 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 976 INFOT = 16 977 CALL SGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, R1, R2, R3, Q, 978 $ 2, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 979 $ W, 1, IW, BW, INFO ) 980 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 981 INFOT = 26 982 CALL SGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, R1, R2, R3, Q, 983 $ 2, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV, 984 $ W, 1, IW, BW, INFO ) 985 CALL CHKXER( 'SGGEVX', INFOT, NOUT, LERR, OK ) 986 NT = NT + 12 987* 988* STGEXC 989* 990 SRNAMT = 'STGEXC' 991 INFOT = 3 992 CALL STGEXC( .TRUE., .TRUE., -1, A, 1, B, 1, Q, 1, Z, 1, IFST, 993 $ ILST, W, 1, INFO ) 994 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 995 INFOT = 5 996 CALL STGEXC( .TRUE., .TRUE., 1, A, 0, B, 1, Q, 1, Z, 1, IFST, 997 $ ILST, W, 1, INFO ) 998 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 999 INFOT = 7 1000 CALL STGEXC( .TRUE., .TRUE., 1, A, 1, B, 0, Q, 1, Z, 1, IFST, 1001 $ ILST, W, 1, INFO ) 1002 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1003 INFOT = 9 1004 CALL STGEXC( .FALSE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST, 1005 $ ILST, W, 1, INFO ) 1006 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1007 INFOT = 9 1008 CALL STGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST, 1009 $ ILST, W, 1, INFO ) 1010 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1011 INFOT = 11 1012 CALL STGEXC( .TRUE., .FALSE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST, 1013 $ ILST, W, 1, INFO ) 1014 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1015 INFOT = 11 1016 CALL STGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST, 1017 $ ILST, W, 1, INFO ) 1018 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1019 INFOT = 15 1020 CALL STGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 1, IFST, 1021 $ ILST, W, 0, INFO ) 1022 CALL CHKXER( 'STGEXC', INFOT, NOUT, LERR, OK ) 1023 NT = NT + 8 1024* 1025* STGSEN 1026* 1027 SRNAMT = 'STGSEN' 1028 INFOT = 1 1029 CALL STGSEN( -1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, 1030 $ R3, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1031 $ INFO ) 1032 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1033 INFOT = 5 1034 CALL STGSEN( 1, .TRUE., .TRUE., SEL, -1, A, 1, B, 1, R1, R2, 1035 $ R3, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1036 $ INFO ) 1037 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1038 INFOT = 7 1039 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 0, B, 1, R1, R2, R3, 1040 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1041 $ INFO ) 1042 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1043 INFOT = 9 1044 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 0, R1, R2, R3, 1045 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1046 $ INFO ) 1047 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1048 INFOT = 14 1049 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1050 $ Q, 0, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1051 $ INFO ) 1052 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1053 INFOT = 16 1054 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1055 $ Q, 1, Z, 0, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1056 $ INFO ) 1057 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1058 INFOT = 22 1059 CALL STGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1060 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1061 $ INFO ) 1062 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1063 INFOT = 22 1064 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1065 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1066 $ INFO ) 1067 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1068 INFOT = 22 1069 CALL STGSEN( 2, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1070 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1, 1071 $ INFO ) 1072 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1073 INFOT = 24 1074 CALL STGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1075 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW, 0, 1076 $ INFO ) 1077 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1078 INFOT = 24 1079 CALL STGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1080 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW, 0, 1081 $ INFO ) 1082 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1083 INFOT = 24 1084 CALL STGSEN( 2, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, R1, R2, R3, 1085 $ Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW, 1, 1086 $ INFO ) 1087 CALL CHKXER( 'STGSEN', INFOT, NOUT, LERR, OK ) 1088 NT = NT + 12 1089* 1090* STGSNA 1091* 1092 SRNAMT = 'STGSNA' 1093 INFOT = 1 1094 CALL STGSNA( '/', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2, 1095 $ 1, M, W, 1, IW, INFO ) 1096 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1097 INFOT = 2 1098 CALL STGSNA( 'B', '/', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2, 1099 $ 1, M, W, 1, IW, INFO ) 1100 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1101 INFOT = 4 1102 CALL STGSNA( 'B', 'A', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2, 1103 $ 1, M, W, 1, IW, INFO ) 1104 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1105 INFOT = 6 1106 CALL STGSNA( 'B', 'A', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2, 1107 $ 1, M, W, 1, IW, INFO ) 1108 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1109 INFOT = 8 1110 CALL STGSNA( 'B', 'A', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2, 1111 $ 1, M, W, 1, IW, INFO ) 1112 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1113 INFOT = 10 1114 CALL STGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2, 1115 $ 1, M, W, 1, IW, INFO ) 1116 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1117 INFOT = 12 1118 CALL STGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2, 1119 $ 1, M, W, 1, IW, INFO ) 1120 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1121 INFOT = 15 1122 CALL STGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2, 1123 $ 0, M, W, 1, IW, INFO ) 1124 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1125 INFOT = 18 1126 CALL STGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2, 1127 $ 1, M, W, 0, IW, INFO ) 1128 CALL CHKXER( 'STGSNA', INFOT, NOUT, LERR, OK ) 1129 NT = NT + 9 1130* 1131* STGSYL 1132* 1133 SRNAMT = 'STGSYL' 1134 INFOT = 1 1135 CALL STGSYL( '/', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1136 $ SCALE, DIF, W, 1, IW, INFO ) 1137 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1138 INFOT = 2 1139 CALL STGSYL( 'N', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1140 $ SCALE, DIF, W, 1, IW, INFO ) 1141 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1142 INFOT = 3 1143 CALL STGSYL( 'N', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1144 $ SCALE, DIF, W, 1, IW, INFO ) 1145 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1146 INFOT = 4 1147 CALL STGSYL( 'N', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1148 $ SCALE, DIF, W, 1, IW, INFO ) 1149 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1150 INFOT = 6 1151 CALL STGSYL( 'N', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1152 $ SCALE, DIF, W, 1, IW, INFO ) 1153 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1154 INFOT = 8 1155 CALL STGSYL( 'N', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1, 1156 $ SCALE, DIF, W, 1, IW, INFO ) 1157 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1158 INFOT = 10 1159 CALL STGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1, 1160 $ SCALE, DIF, W, 1, IW, INFO ) 1161 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1162 INFOT = 12 1163 CALL STGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1, 1164 $ SCALE, DIF, W, 1, IW, INFO ) 1165 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1166 INFOT = 14 1167 CALL STGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1, 1168 $ SCALE, DIF, W, 1, IW, INFO ) 1169 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1170 INFOT = 16 1171 CALL STGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0, 1172 $ SCALE, DIF, W, 1, IW, INFO ) 1173 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1174 INFOT = 20 1175 CALL STGSYL( 'N', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1176 $ SCALE, DIF, W, 1, IW, INFO ) 1177 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1178 INFOT = 20 1179 CALL STGSYL( 'N', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1, 1180 $ SCALE, DIF, W, 1, IW, INFO ) 1181 CALL CHKXER( 'STGSYL', INFOT, NOUT, LERR, OK ) 1182 NT = NT + 12 1183 END IF 1184* 1185* Print a summary line. 1186* 1187 IF( OK ) THEN 1188 WRITE( NOUT, FMT = 9999 )PATH, NT 1189 ELSE 1190 WRITE( NOUT, FMT = 9998 )PATH 1191 END IF 1192* 1193 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits (', 1194 $ I3, ' tests done)' ) 1195 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ', 1196 $ 'exits ***' ) 1197* 1198 RETURN 1199* 1200* End of SERRGG 1201* 1202 END 1203