You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

zerrgg.f 44 kB

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