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.

zerrvxx.f 50 kB

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