|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062 |
- *> \brief \b CERRGG
- *
- * =========== DOCUMENTATION ===========
- *
- * Online html documentation available at
- * http://www.netlib.org/lapack/explore-html/
- *
- * Definition:
- * ===========
- *
- * SUBROUTINE CERRGG( PATH, NUNIT )
- *
- * .. Scalar Arguments ..
- * CHARACTER*3 PATH
- * INTEGER NUNIT
- * ..
- *
- *
- *> \par Purpose:
- * =============
- *>
- *> \verbatim
- *>
- *> CERRGG tests the error exits for CGGES, CGGESX, CGGEV, CGGEVX,
- *> CGGGLM, CGGHRD, CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
- *> CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA, CTGSYL and CUNCSD.
- *> \endverbatim
- *
- * Arguments:
- * ==========
- *
- *> \param[in] PATH
- *> \verbatim
- *> PATH is CHARACTER*3
- *> The LAPACK path name for the routines to be tested.
- *> \endverbatim
- *>
- *> \param[in] NUNIT
- *> \verbatim
- *> NUNIT is INTEGER
- *> The unit number for output.
- *> \endverbatim
- *
- * Authors:
- * ========
- *
- *> \author Univ. of Tennessee
- *> \author Univ. of California Berkeley
- *> \author Univ. of Colorado Denver
- *> \author NAG Ltd.
- *
- *> \date November 2011
- *
- *> \ingroup complex_eig
- *
- * =====================================================================
- SUBROUTINE CERRGG( PATH, NUNIT )
- *
- * -- LAPACK test routine (version 3.4.0) --
- * -- LAPACK is a software package provided by Univ. of Tennessee, --
- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
- * November 2011
- *
- * .. Scalar Arguments ..
- CHARACTER*3 PATH
- INTEGER NUNIT
- * ..
- *
- * =====================================================================
- *
- * .. Parameters ..
- INTEGER NMAX, LW
- PARAMETER ( NMAX = 3, LW = 6*NMAX )
- REAL ONE, ZERO
- PARAMETER ( ONE = 1.0E+0, ZERO = 0.0E+0 )
- * ..
- * .. Local Scalars ..
- CHARACTER*2 C2
- INTEGER DUMMYK, DUMMYL, I, IFST, IHI, ILO, ILST, INFO,
- $ J, M, NCYCLE, NT, SDIM
- REAL ANRM, BNRM, DIF, SCALE, TOLA, TOLB
- * ..
- * .. Local Arrays ..
- LOGICAL BW( NMAX ), SEL( NMAX )
- INTEGER IW( LW )
- REAL LS( NMAX ), R1( NMAX ), R2( NMAX ),
- $ RCE( NMAX ), RCV( NMAX ), RS( NMAX ), RW( LW )
- COMPLEX A( NMAX, NMAX ), ALPHA( NMAX ),
- $ B( NMAX, NMAX ), BETA( NMAX ), Q( NMAX, NMAX ),
- $ TAU( NMAX ), U( NMAX, NMAX ), V( NMAX, NMAX ),
- $ W( LW ), Z( NMAX, NMAX )
- * ..
- * .. External Functions ..
- LOGICAL CLCTES, CLCTSX, LSAMEN
- EXTERNAL CLCTES, CLCTSX, LSAMEN
- * ..
- * .. External Subroutines ..
- EXTERNAL CGGES, CGGESX, CGGEV, CGGEVX, CGGGLM, CGGHRD,
- $ CGGLSE, CGGQRF, CGGRQF, CGGSVD, CGGSVP, CHGEQZ,
- $ CHKXER, CTGEVC, CTGEXC, CTGSEN, CTGSJA, CTGSNA,
- $ CTGSYL, CUNCSD
- * ..
- * .. Scalars in Common ..
- LOGICAL LERR, OK
- CHARACTER*32 SRNAMT
- INTEGER INFOT, NOUT
- * ..
- * .. Common blocks ..
- COMMON / INFOC / INFOT, NOUT, OK, LERR
- COMMON / SRNAMC / SRNAMT
- * ..
- * .. Executable Statements ..
- *
- NOUT = NUNIT
- WRITE( NOUT, FMT = * )
- C2 = PATH( 2: 3 )
- *
- * Set the variables to innocuous values.
- *
- DO 20 J = 1, NMAX
- SEL( J ) = .TRUE.
- DO 10 I = 1, NMAX
- A( I, J ) = ZERO
- B( I, J ) = ZERO
- 10 CONTINUE
- 20 CONTINUE
- DO 30 I = 1, NMAX
- A( I, I ) = ONE
- B( I, I ) = ONE
- 30 CONTINUE
- OK = .TRUE.
- TOLA = 1.0E0
- TOLB = 1.0E0
- IFST = 1
- ILST = 1
- NT = 0
- *
- * Test error exits for the GG path.
- *
- IF( LSAMEN( 2, C2, 'GG' ) ) THEN
- *
- * CGGHRD
- *
- SRNAMT = 'CGGHRD'
- INFOT = 1
- CALL CGGHRD( '/', 'N', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGHRD( 'N', '/', 0, 1, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGHRD( 'N', 'N', -1, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CGGHRD( 'N', 'N', 0, 0, 0, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGHRD( 'N', 'N', 0, 1, 1, A, 1, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 1, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CGGHRD( 'N', 'N', 2, 1, 1, A, 2, B, 1, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CGGHRD( 'V', 'N', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CGGHRD( 'N', 'V', 2, 1, 1, A, 2, B, 2, Q, 1, Z, 1, INFO )
- CALL CHKXER( 'CGGHRD', INFOT, NOUT, LERR, OK )
- NT = NT + 9
- *
- * CHGEQZ
- *
- SRNAMT = 'CHGEQZ'
- INFOT = 1
- CALL CHGEQZ( '/', 'N', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CHGEQZ( 'E', '/', 'N', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CHGEQZ( 'E', 'N', '/', 0, 1, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CHGEQZ( 'E', 'N', 'N', -1, 0, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CHGEQZ( 'E', 'N', 'N', 0, 0, 0, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CHGEQZ( 'E', 'N', 'N', 0, 1, 1, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 1, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CHGEQZ( 'E', 'N', 'N', 2, 1, 1, A, 2, B, 1, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL CHGEQZ( 'E', 'V', 'N', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CHGEQZ( 'E', 'N', 'V', 2, 1, 1, A, 2, B, 2, ALPHA, BETA,
- $ Q, 1, Z, 1, W, 1, RW, INFO )
- CALL CHKXER( 'CHGEQZ', INFOT, NOUT, LERR, OK )
- NT = NT + 10
- *
- * CTGEVC
- *
- SRNAMT = 'CTGEVC'
- INFOT = 1
- CALL CTGEVC( '/', 'A', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CTGEVC( 'R', '/', SEL, 0, A, 1, B, 1, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CTGEVC( 'R', 'A', SEL, -1, A, 1, B, 1, Q, 1, Z, 1, 0, M,
- $ W, RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CTGEVC( 'R', 'A', SEL, 2, A, 1, B, 2, Q, 1, Z, 2, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 1, Q, 1, Z, 2, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CTGEVC( 'L', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 1, 0, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CTGEVC( 'R', 'A', SEL, 2, A, 2, B, 2, Q, 1, Z, 2, 1, M, W,
- $ RW, INFO )
- CALL CHKXER( 'CTGEVC', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the GSV path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GSV' ) ) THEN
- *
- * CGGSVD
- *
- SRNAMT = 'CGGSVD'
- INFOT = 1
- CALL CGGSVD( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGSVD( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGSVD( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CGGSVD( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGSVD( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CGGSVD( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CGGSVD( 'N', 'N', 'N', 2, 1, 1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CGGSVD( 'N', 'N', 'N', 1, 1, 2, DUMMYK, DUMMYL, A, 1, B,
- $ 1, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CGGSVD( 'U', 'N', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 1, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL CGGSVD( 'N', 'V', 'N', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 2, V, 1, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CGGSVD( 'N', 'N', 'Q', 2, 2, 2, DUMMYK, DUMMYL, A, 2, B,
- $ 2, R1, R2, U, 2, V, 2, Q, 1, W, RW, IW, INFO )
- CALL CHKXER( 'CGGSVD', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * CGGSVP
- *
- SRNAMT = 'CGGSVP'
- INFOT = 1
- CALL CGGSVP( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGSVP( 'N', '/', 'N', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGSVP( 'N', 'N', '/', 0, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CGGSVP( 'N', 'N', 'N', -1, 0, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGSVP( 'N', 'N', 'N', 0, -1, 0, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CGGSVP( 'N', 'N', 'N', 0, 0, -1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CGGSVP( 'N', 'N', 'N', 2, 1, 1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CGGSVP( 'N', 'N', 'N', 1, 2, 1, A, 1, B, 1, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CGGSVP( 'U', 'N', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 1, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL CGGSVP( 'N', 'V', 'N', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 2, V, 1, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CGGSVP( 'N', 'N', 'Q', 2, 2, 2, A, 2, B, 2, TOLA, TOLB,
- $ DUMMYK, DUMMYL, U, 2, V, 2, Q, 1, IW, RW, TAU, W,
- $ INFO )
- CALL CHKXER( 'CGGSVP', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * CTGSJA
- *
- SRNAMT = 'CTGSJA'
- INFOT = 1
- CALL CTGSJA( '/', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CTGSJA( 'N', '/', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CTGSJA( 'N', 'N', '/', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CTGSJA( 'N', 'N', 'N', -1, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CTGSJA( 'N', 'N', 'N', 0, -1, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CTGSJA( 'N', 'N', 'N', 0, 0, -1, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 0, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CTGSJA( 'N', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 0, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL CTGSJA( 'U', 'N', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 0, V, 1, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CTGSJA( 'N', 'V', 'N', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 0, Q, 1, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- INFOT = 22
- CALL CTGSJA( 'N', 'N', 'Q', 0, 0, 0, DUMMYK, DUMMYL, A, 1, B,
- $ 1, TOLA, TOLB, R1, R2, U, 1, V, 1, Q, 0, W,
- $ NCYCLE, INFO )
- CALL CHKXER( 'CTGSJA', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * Test error exits for the GLM path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GLM' ) ) THEN
- *
- * CGGGLM
- *
- SRNAMT = 'CGGGLM'
- INFOT = 1
- CALL CGGGLM( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGGLM( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGGLM( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGGLM( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGGLM( 1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGGLM( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGGLM( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CGGGLM( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
- $ INFO )
- CALL CHKXER( 'CGGGLM', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the LSE path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'LSE' ) ) THEN
- *
- * CGGLSE
- *
- SRNAMT = 'CGGLSE'
- INFOT = 1
- CALL CGGLSE( -1, 0, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGLSE( 0, -1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGLSE( 0, 0, -1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGLSE( 0, 0, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGLSE( 0, 1, 0, A, 1, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGLSE( 0, 0, 0, A, 0, B, 1, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGLSE( 0, 0, 0, A, 1, B, 0, TAU, ALPHA, BETA, W, LW,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CGGLSE( 1, 1, 1, A, 1, B, 1, TAU, ALPHA, BETA, W, 1,
- $ INFO )
- CALL CHKXER( 'CGGLSE', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the CSD path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'CSD' ) ) THEN
- *
- * CUNCSD
- *
- SRNAMT = 'CUNCSD'
- INFOT = 7
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ -1, 0, 0, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, -1, 0, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, -1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, -1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, -1, A, 1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 22
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, -1, A, 1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 24
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, -1, A,
- $ 1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- INFOT = 26
- CALL CUNCSD( 'Y', 'Y', 'Y', 'Y', 'N', 'N',
- $ 1, 1, 1, A, 1, A,
- $ 1, A, 1, A, 1, A,
- $ A, 1, A, 1, A, 1, A,
- $ -1, W, LW, RW, LW, IW, INFO )
- CALL CHKXER( 'CUNCSD', INFOT, NOUT, LERR, OK )
- NT = NT + 8
- *
- * Test error exits for the GQR path.
- *
- ELSE IF( LSAMEN( 3, PATH, 'GQR' ) ) THEN
- *
- * CGGQRF
- *
- SRNAMT = 'CGGQRF'
- INFOT = 1
- CALL CGGQRF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGQRF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGQRF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGQRF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CGGQRF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CGGQRF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
- CALL CHKXER( 'CGGQRF', INFOT, NOUT, LERR, OK )
- NT = NT + 6
- *
- * CGGRQF
- *
- SRNAMT = 'CGGRQF'
- INFOT = 1
- CALL CGGRQF( -1, 0, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGRQF( 0, -1, 0, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGRQF( 0, 0, -1, A, 1, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGRQF( 0, 0, 0, A, 0, ALPHA, B, 1, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CGGRQF( 0, 0, 0, A, 1, ALPHA, B, 0, BETA, W, LW, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CGGRQF( 1, 1, 2, A, 1, ALPHA, B, 1, BETA, W, 1, INFO )
- CALL CHKXER( 'CGGRQF', INFOT, NOUT, LERR, OK )
- NT = NT + 6
- *
- * Test error exits for the CGS, CGV, CGX, and CXV paths.
- *
- ELSE IF( LSAMEN( 3, PATH, 'CGS' ) .OR.
- $ LSAMEN( 3, PATH, 'CGV' ) .OR.
- $ LSAMEN( 3, PATH, 'CGX' ) .OR. LSAMEN( 3, PATH, 'CXV' ) )
- $ THEN
- *
- * CGGES
- *
- SRNAMT = 'CGGES '
- INFOT = 1
- CALL CGGES( '/', 'N', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGES( 'N', '/', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGES( 'N', 'V', '/', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGES( 'N', 'V', 'S', CLCTES, -1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 0, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 0, SDIM, ALPHA,
- $ BETA, Q, 1, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 0, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 1, U, 2, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CGGES( 'N', 'V', 'S', CLCTES, 1, A, 1, B, 1, SDIM, ALPHA,
- $ BETA, Q, 1, U, 0, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 2, U, 1, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL CGGES( 'V', 'V', 'S', CLCTES, 2, A, 2, B, 2, SDIM, ALPHA,
- $ BETA, Q, 2, U, 2, W, 1, RW, BW, INFO )
- CALL CHKXER( 'CGGES ', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * CGGESX
- *
- SRNAMT = 'CGGESX'
- INFOT = 1
- CALL CGGESX( '/', 'N', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGESX( 'N', '/', 'S', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGESX( 'V', 'V', '/', CLCTSX, 'N', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, '/', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', -1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 0, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 0, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 0, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 17
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 0, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 17
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 2, U, 1, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 21
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'B', 2, A, 2, B, 2, SDIM,
- $ ALPHA, BETA, Q, 2, U, 2, RCE, RCV, W, 1, RW, IW,
- $ 1, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- INFOT = 24
- CALL CGGESX( 'V', 'V', 'S', CLCTSX, 'V', 1, A, 1, B, 1, SDIM,
- $ ALPHA, BETA, Q, 1, U, 1, RCE, RCV, W, 32, RW, IW,
- $ 0, BW, INFO )
- CALL CHKXER( 'CGGESX', INFOT, NOUT, LERR, OK )
- NT = NT + 13
- *
- * CGGEV
- *
- SRNAMT = 'CGGEV '
- INFOT = 1
- CALL CGGEV( '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGEV( 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGEV( 'V', 'V', -1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGEV( 'V', 'V', 1, A, 0, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGEV( 'V', 'V', 1, A, 1, B, 0, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CGGEV( 'N', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 0, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 1, U, 2,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CGGEV( 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 0,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CGGEV( 'V', 'V', 2, A, 2, B, 2, ALPHA, BETA, Q, 2, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CGGEV( 'V', 'V', 1, A, 1, B, 1, ALPHA, BETA, Q, 1, U, 1,
- $ W, 1, RW, INFO )
- CALL CHKXER( 'CGGEV ', INFOT, NOUT, LERR, OK )
- NT = NT + 10
- *
- * CGGEVX
- *
- SRNAMT = 'CGGEVX'
- INFOT = 1
- CALL CGGEVX( '/', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CGGEVX( 'N', '/', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CGGEVX( 'N', 'N', '/', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CGGEVX( 'N', 'N', 'N', '/', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CGGEVX( 'N', 'N', 'N', 'N', -1, A, 1, B, 1, ALPHA, BETA,
- $ Q, 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE,
- $ RCV, W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 0, B, 1, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 0, ALPHA, BETA, Q,
- $ 1, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 0, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CGGEVX( 'N', 'V', 'N', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 1, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CGGEVX( 'N', 'N', 'N', 'N', 1, A, 1, B, 1, ALPHA, BETA, Q,
- $ 1, U, 0, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 2, U, 1, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 1, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- INFOT = 25
- CALL CGGEVX( 'N', 'N', 'V', 'N', 2, A, 2, B, 2, ALPHA, BETA, Q,
- $ 2, U, 2, ILO, IHI, LS, RS, ANRM, BNRM, RCE, RCV,
- $ W, 0, RW, IW, BW, INFO )
- CALL CHKXER( 'CGGEVX', INFOT, NOUT, LERR, OK )
- NT = NT + 12
- *
- * CTGEXC
- *
- SRNAMT = 'CTGEXC'
- INFOT = 3
- CALL CTGEXC( .TRUE., .TRUE., -1, A, 1, B, 1, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CTGEXC( .TRUE., .TRUE., 1, A, 0, B, 1, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 0, Q, 1, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CTGEXC( .FALSE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 0, Z, 1, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CTGEXC( .TRUE., .FALSE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- INFOT = 11
- CALL CTGEXC( .TRUE., .TRUE., 1, A, 1, B, 1, Q, 1, Z, 0, IFST,
- $ ILST, INFO )
- CALL CHKXER( 'CTGEXC', INFOT, NOUT, LERR, OK )
- NT = NT + 7
- *
- * CTGSEN
- *
- SRNAMT = 'CTGSEN'
- INFOT = 1
- CALL CTGSEN( -1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 5
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, -1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 7
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 0, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 9
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 0, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 13
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 0, Z, 1, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 0, M, TOLA, TOLB, RCV, W, 1, IW, 1,
- $ INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 21
- CALL CTGSEN( 3, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, -5, IW,
- $ 1, INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL CTGSEN( 0, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 0, INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL CTGSEN( 1, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 0, INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- INFOT = 23
- CALL CTGSEN( 5, .TRUE., .TRUE., SEL, 1, A, 1, B, 1, ALPHA,
- $ BETA, Q, 1, Z, 1, M, TOLA, TOLB, RCV, W, 20, IW,
- $ 1, INFO )
- CALL CHKXER( 'CTGSEN', INFOT, NOUT, LERR, OK )
- NT = NT + 11
- *
- * CTGSNA
- *
- SRNAMT = 'CTGSNA'
- INFOT = 1
- CALL CTGSNA( '/', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CTGSNA( 'B', '/', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CTGSNA( 'B', 'A', SEL, -1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CTGSNA( 'B', 'A', SEL, 1, A, 0, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CTGSNA( 'B', 'A', SEL, 1, A, 1, B, 0, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 0, U, 1, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 0, R1, R2,
- $ 1, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 15
- CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 0, M, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- INFOT = 18
- CALL CTGSNA( 'E', 'A', SEL, 1, A, 1, B, 1, Q, 1, U, 1, R1, R2,
- $ 1, M, W, 0, IW, INFO )
- CALL CHKXER( 'CTGSNA', INFOT, NOUT, LERR, OK )
- NT = NT + 9
- *
- * CTGSYL
- *
- SRNAMT = 'CTGSYL'
- INFOT = 1
- CALL CTGSYL( '/', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 2
- CALL CTGSYL( 'N', -1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 3
- CALL CTGSYL( 'N', 0, 0, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 4
- CALL CTGSYL( 'N', 0, 1, 0, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 6
- CALL CTGSYL( 'N', 0, 1, 1, A, 0, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 8
- CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 0, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 10
- CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 0, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 12
- CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 0, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 14
- CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 0, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 16
- CALL CTGSYL( 'N', 0, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 0,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CTGSYL( 'N', 1, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- INFOT = 20
- CALL CTGSYL( 'N', 2, 1, 1, A, 1, B, 1, Q, 1, U, 1, V, 1, Z, 1,
- $ SCALE, DIF, W, 1, IW, INFO )
- CALL CHKXER( 'CTGSYL', INFOT, NOUT, LERR, OK )
- NT = NT + 12
- END IF
- *
- * Print a summary line.
- *
- IF( OK ) THEN
- WRITE( NOUT, FMT = 9999 )PATH, NT
- ELSE
- WRITE( NOUT, FMT = 9998 )PATH
- END IF
- *
- 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits (',
- $ I3, ' tests done)' )
- 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
- $ 'exits ***' )
- *
- RETURN
- *
- * End of CERRGG
- *
- END
|