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.

zerrvx.f 33 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840
  1. *> \brief \b ZERRVX
  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
  78. DOUBLE PRECISION RCOND
  79. * ..
  80. * .. Local Arrays ..
  81. INTEGER IP( NMAX )
  82. DOUBLE PRECISION C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
  83. $ RF( NMAX ), RW( NMAX )
  84. COMPLEX*16 A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
  85. $ W( 2*NMAX ), X( NMAX )
  86. * ..
  87. * .. External Functions ..
  88. LOGICAL LSAMEN
  89. EXTERNAL LSAMEN
  90. * ..
  91. * .. External Subroutines ..
  92. EXTERNAL CHKXER, ZGBSV, ZGBSVX, ZGESV, ZGESVX, ZGTSV,
  93. $ ZGTSVX, ZHESV, ZHESV_ROOK, ZHESVX, ZHPSV,
  94. $ ZHPSVX, ZPBSV, ZPBSVX, ZPOSV, ZPOSVX, ZPPSV,
  95. $ ZPPSVX, ZPTSV, ZPTSVX, ZSPSV, ZSPSVX, ZSYSV,
  96. $ ZSYSV_ROOK, ZSYSVX
  97. * ..
  98. * .. Scalars in Common ..
  99. LOGICAL LERR, OK
  100. CHARACTER*32 SRNAMT
  101. INTEGER INFOT, NOUT
  102. * ..
  103. * .. Common blocks ..
  104. COMMON / INFOC / INFOT, NOUT, OK, LERR
  105. COMMON / SRNAMC / SRNAMT
  106. * ..
  107. * .. Intrinsic Functions ..
  108. INTRINSIC DBLE, DCMPLX
  109. * ..
  110. * .. Executable Statements ..
  111. *
  112. NOUT = NUNIT
  113. WRITE( NOUT, FMT = * )
  114. C2 = PATH( 2: 3 )
  115. *
  116. * Set the variables to innocuous values.
  117. *
  118. DO 20 J = 1, NMAX
  119. DO 10 I = 1, NMAX
  120. A( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
  121. $ -1.D0 / DBLE( I+J ) )
  122. AF( I, J ) = DCMPLX( 1.D0 / DBLE( I+J ),
  123. $ -1.D0 / DBLE( I+J ) )
  124. 10 CONTINUE
  125. B( J ) = 0.D0
  126. R1( J ) = 0.D0
  127. R2( J ) = 0.D0
  128. W( J ) = 0.D0
  129. X( J ) = 0.D0
  130. C( J ) = 0.D0
  131. R( J ) = 0.D0
  132. IP( J ) = J
  133. 20 CONTINUE
  134. EQ = ' '
  135. OK = .TRUE.
  136. *
  137. IF( LSAMEN( 2, C2, 'GE' ) ) THEN
  138. *
  139. * ZGESV
  140. *
  141. SRNAMT = 'ZGESV '
  142. INFOT = 1
  143. CALL ZGESV( -1, 0, A, 1, IP, B, 1, INFO )
  144. CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
  145. INFOT = 2
  146. CALL ZGESV( 0, -1, A, 1, IP, B, 1, INFO )
  147. CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
  148. INFOT = 4
  149. CALL ZGESV( 2, 1, A, 1, IP, B, 2, INFO )
  150. CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
  151. INFOT = 7
  152. CALL ZGESV( 2, 1, A, 2, IP, B, 1, INFO )
  153. CALL CHKXER( 'ZGESV ', INFOT, NOUT, LERR, OK )
  154. *
  155. * ZGESVX
  156. *
  157. SRNAMT = 'ZGESVX'
  158. INFOT = 1
  159. CALL ZGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  160. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  161. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  162. INFOT = 2
  163. CALL ZGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  164. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  165. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  166. INFOT = 3
  167. CALL ZGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  168. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  169. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  170. INFOT = 4
  171. CALL ZGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  172. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  173. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  174. INFOT = 6
  175. CALL ZGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
  176. $ X, 2, RCOND, R1, R2, W, RW, INFO )
  177. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  178. INFOT = 8
  179. CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
  180. $ X, 2, RCOND, R1, R2, W, RW, INFO )
  181. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  182. INFOT = 10
  183. EQ = '/'
  184. CALL ZGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  185. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  186. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  187. INFOT = 11
  188. EQ = 'R'
  189. CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  190. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  191. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  192. INFOT = 12
  193. EQ = 'C'
  194. CALL ZGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  195. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  196. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  197. INFOT = 14
  198. CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
  199. $ X, 2, RCOND, R1, R2, W, RW, INFO )
  200. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  201. INFOT = 16
  202. CALL ZGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
  203. $ X, 1, RCOND, R1, R2, W, RW, INFO )
  204. CALL CHKXER( 'ZGESVX', INFOT, NOUT, LERR, OK )
  205. *
  206. ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
  207. *
  208. * ZGBSV
  209. *
  210. SRNAMT = 'ZGBSV '
  211. INFOT = 1
  212. CALL ZGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
  213. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  214. INFOT = 2
  215. CALL ZGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
  216. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  217. INFOT = 3
  218. CALL ZGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
  219. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  220. INFOT = 4
  221. CALL ZGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
  222. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  223. INFOT = 6
  224. CALL ZGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
  225. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  226. INFOT = 9
  227. CALL ZGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
  228. CALL CHKXER( 'ZGBSV ', INFOT, NOUT, LERR, OK )
  229. *
  230. * ZGBSVX
  231. *
  232. SRNAMT = 'ZGBSVX'
  233. INFOT = 1
  234. CALL ZGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  235. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  236. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  237. INFOT = 2
  238. CALL ZGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  239. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  240. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  241. INFOT = 3
  242. CALL ZGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  243. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  244. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  245. INFOT = 4
  246. CALL ZGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  247. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  248. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  249. INFOT = 5
  250. CALL ZGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
  251. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  252. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  253. INFOT = 6
  254. CALL ZGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
  255. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  256. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  257. INFOT = 8
  258. CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
  259. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  260. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  261. INFOT = 10
  262. CALL ZGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
  263. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  264. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  265. INFOT = 12
  266. EQ = '/'
  267. CALL ZGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  268. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  269. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  270. INFOT = 13
  271. EQ = 'R'
  272. CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  273. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  274. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  275. INFOT = 14
  276. EQ = 'C'
  277. CALL ZGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  278. $ B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  279. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  280. INFOT = 16
  281. CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  282. $ B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
  283. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  284. INFOT = 18
  285. CALL ZGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  286. $ B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
  287. CALL CHKXER( 'ZGBSVX', INFOT, NOUT, LERR, OK )
  288. *
  289. ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
  290. *
  291. * ZGTSV
  292. *
  293. SRNAMT = 'ZGTSV '
  294. INFOT = 1
  295. CALL ZGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
  296. $ INFO )
  297. CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
  298. INFOT = 2
  299. CALL ZGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
  300. $ INFO )
  301. CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
  302. INFOT = 7
  303. CALL ZGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
  304. CALL CHKXER( 'ZGTSV ', INFOT, NOUT, LERR, OK )
  305. *
  306. * ZGTSVX
  307. *
  308. SRNAMT = 'ZGTSVX'
  309. INFOT = 1
  310. CALL ZGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  311. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  312. $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  313. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  314. INFOT = 2
  315. CALL ZGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  316. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  317. $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  318. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  319. INFOT = 3
  320. CALL ZGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  321. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  322. $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  323. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  324. INFOT = 4
  325. CALL ZGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  326. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  327. $ IP, B, 1, X, 1, RCOND, R1, R2, W, RW, INFO )
  328. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  329. INFOT = 14
  330. CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  331. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  332. $ IP, B, 1, X, 2, RCOND, R1, R2, W, RW, INFO )
  333. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  334. INFOT = 16
  335. CALL ZGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  336. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  337. $ IP, B, 2, X, 1, RCOND, R1, R2, W, RW, INFO )
  338. CALL CHKXER( 'ZGTSVX', INFOT, NOUT, LERR, OK )
  339. *
  340. ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
  341. *
  342. * ZPOSV
  343. *
  344. SRNAMT = 'ZPOSV '
  345. INFOT = 1
  346. CALL ZPOSV( '/', 0, 0, A, 1, B, 1, INFO )
  347. CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
  348. INFOT = 2
  349. CALL ZPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
  350. CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
  351. INFOT = 3
  352. CALL ZPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
  353. CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
  354. INFOT = 5
  355. CALL ZPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
  356. CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
  357. INFOT = 7
  358. CALL ZPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
  359. CALL CHKXER( 'ZPOSV ', INFOT, NOUT, LERR, OK )
  360. *
  361. * ZPOSVX
  362. *
  363. SRNAMT = 'ZPOSVX'
  364. INFOT = 1
  365. CALL ZPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  366. $ RCOND, R1, R2, W, RW, INFO )
  367. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  368. INFOT = 2
  369. CALL ZPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  370. $ RCOND, R1, R2, W, RW, INFO )
  371. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  372. INFOT = 3
  373. CALL ZPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  374. $ RCOND, R1, R2, W, RW, INFO )
  375. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  376. INFOT = 4
  377. CALL ZPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  378. $ RCOND, R1, R2, W, RW, INFO )
  379. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  380. INFOT = 6
  381. CALL ZPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
  382. $ RCOND, R1, R2, W, RW, INFO )
  383. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  384. INFOT = 8
  385. CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
  386. $ RCOND, R1, R2, W, RW, INFO )
  387. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  388. INFOT = 9
  389. EQ = '/'
  390. CALL ZPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  391. $ RCOND, R1, R2, W, RW, INFO )
  392. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  393. INFOT = 10
  394. EQ = 'Y'
  395. CALL ZPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  396. $ RCOND, R1, R2, W, RW, INFO )
  397. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  398. INFOT = 12
  399. CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
  400. $ RCOND, R1, R2, W, RW, INFO )
  401. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  402. INFOT = 14
  403. CALL ZPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
  404. $ RCOND, R1, R2, W, RW, INFO )
  405. CALL CHKXER( 'ZPOSVX', INFOT, NOUT, LERR, OK )
  406. *
  407. ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
  408. *
  409. * ZPPSV
  410. *
  411. SRNAMT = 'ZPPSV '
  412. INFOT = 1
  413. CALL ZPPSV( '/', 0, 0, A, B, 1, INFO )
  414. CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
  415. INFOT = 2
  416. CALL ZPPSV( 'U', -1, 0, A, B, 1, INFO )
  417. CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
  418. INFOT = 3
  419. CALL ZPPSV( 'U', 0, -1, A, B, 1, INFO )
  420. CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
  421. INFOT = 6
  422. CALL ZPPSV( 'U', 2, 0, A, B, 1, INFO )
  423. CALL CHKXER( 'ZPPSV ', INFOT, NOUT, LERR, OK )
  424. *
  425. * ZPPSVX
  426. *
  427. SRNAMT = 'ZPPSVX'
  428. INFOT = 1
  429. CALL ZPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  430. $ R1, R2, W, RW, INFO )
  431. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  432. INFOT = 2
  433. CALL ZPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  434. $ R1, R2, W, RW, INFO )
  435. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  436. INFOT = 3
  437. CALL ZPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  438. $ R1, R2, W, RW, INFO )
  439. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  440. INFOT = 4
  441. CALL ZPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
  442. $ R1, R2, W, RW, INFO )
  443. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  444. INFOT = 7
  445. EQ = '/'
  446. CALL ZPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  447. $ R1, R2, W, RW, INFO )
  448. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  449. INFOT = 8
  450. EQ = 'Y'
  451. CALL ZPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  452. $ R1, R2, W, RW, INFO )
  453. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  454. INFOT = 10
  455. CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
  456. $ R1, R2, W, RW, INFO )
  457. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  458. INFOT = 12
  459. CALL ZPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
  460. $ R1, R2, W, RW, INFO )
  461. CALL CHKXER( 'ZPPSVX', INFOT, NOUT, LERR, OK )
  462. *
  463. ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
  464. *
  465. * ZPBSV
  466. *
  467. SRNAMT = 'ZPBSV '
  468. INFOT = 1
  469. CALL ZPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
  470. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  471. INFOT = 2
  472. CALL ZPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
  473. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  474. INFOT = 3
  475. CALL ZPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
  476. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  477. INFOT = 4
  478. CALL ZPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
  479. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  480. INFOT = 6
  481. CALL ZPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
  482. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  483. INFOT = 8
  484. CALL ZPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
  485. CALL CHKXER( 'ZPBSV ', INFOT, NOUT, LERR, OK )
  486. *
  487. * ZPBSVX
  488. *
  489. SRNAMT = 'ZPBSVX'
  490. INFOT = 1
  491. CALL ZPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  492. $ RCOND, R1, R2, W, RW, INFO )
  493. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  494. INFOT = 2
  495. CALL ZPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  496. $ RCOND, R1, R2, W, RW, INFO )
  497. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  498. INFOT = 3
  499. CALL ZPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
  500. $ 1, RCOND, R1, R2, W, RW, INFO )
  501. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  502. INFOT = 4
  503. CALL ZPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
  504. $ 1, RCOND, R1, R2, W, RW, INFO )
  505. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  506. INFOT = 5
  507. CALL ZPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
  508. $ 1, RCOND, R1, R2, W, RW, INFO )
  509. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  510. INFOT = 7
  511. CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
  512. $ RCOND, R1, R2, W, RW, INFO )
  513. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  514. INFOT = 9
  515. CALL ZPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
  516. $ RCOND, R1, R2, W, RW, INFO )
  517. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  518. INFOT = 10
  519. EQ = '/'
  520. CALL ZPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  521. $ RCOND, R1, R2, W, RW, INFO )
  522. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  523. INFOT = 11
  524. EQ = 'Y'
  525. CALL ZPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  526. $ RCOND, R1, R2, W, RW, INFO )
  527. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  528. INFOT = 13
  529. CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
  530. $ RCOND, R1, R2, W, RW, INFO )
  531. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  532. INFOT = 15
  533. CALL ZPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
  534. $ RCOND, R1, R2, W, RW, INFO )
  535. CALL CHKXER( 'ZPBSVX', INFOT, NOUT, LERR, OK )
  536. *
  537. ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
  538. *
  539. * ZPTSV
  540. *
  541. SRNAMT = 'ZPTSV '
  542. INFOT = 1
  543. CALL ZPTSV( -1, 0, R, A( 1, 1 ), B, 1, INFO )
  544. CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
  545. INFOT = 2
  546. CALL ZPTSV( 0, -1, R, A( 1, 1 ), B, 1, INFO )
  547. CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
  548. INFOT = 6
  549. CALL ZPTSV( 2, 0, R, A( 1, 1 ), B, 1, INFO )
  550. CALL CHKXER( 'ZPTSV ', INFOT, NOUT, LERR, OK )
  551. *
  552. * ZPTSVX
  553. *
  554. SRNAMT = 'ZPTSVX'
  555. INFOT = 1
  556. CALL ZPTSVX( '/', 0, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
  557. $ 1, RCOND, R1, R2, W, RW, INFO )
  558. CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
  559. INFOT = 2
  560. CALL ZPTSVX( 'N', -1, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
  561. $ 1, RCOND, R1, R2, W, RW, INFO )
  562. CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
  563. INFOT = 3
  564. CALL ZPTSVX( 'N', 0, -1, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
  565. $ 1, RCOND, R1, R2, W, RW, INFO )
  566. CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
  567. INFOT = 9
  568. CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 1, X,
  569. $ 2, RCOND, R1, R2, W, RW, INFO )
  570. CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
  571. INFOT = 11
  572. CALL ZPTSVX( 'N', 2, 0, R, A( 1, 1 ), RF, AF( 1, 1 ), B, 2, X,
  573. $ 1, RCOND, R1, R2, W, RW, INFO )
  574. CALL CHKXER( 'ZPTSVX', INFOT, NOUT, LERR, OK )
  575. *
  576. ELSE IF( LSAMEN( 2, C2, 'HE' ) ) THEN
  577. *
  578. * ZHESV
  579. *
  580. SRNAMT = 'ZHESV '
  581. INFOT = 1
  582. CALL ZHESV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  583. CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
  584. INFOT = 2
  585. CALL ZHESV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  586. CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
  587. INFOT = 3
  588. CALL ZHESV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  589. CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
  590. INFOT = 5
  591. CALL ZHESV( 'U', 2, 0, A, 1, IP, B, 2, W, 1, INFO )
  592. CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
  593. INFOT = 8
  594. CALL ZHESV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  595. CALL CHKXER( 'ZHESV ', INFOT, NOUT, LERR, OK )
  596. *
  597. * ZHESVX
  598. *
  599. SRNAMT = 'ZHESVX'
  600. INFOT = 1
  601. CALL ZHESVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  602. $ RCOND, R1, R2, W, 1, RW, INFO )
  603. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  604. INFOT = 2
  605. CALL ZHESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  606. $ RCOND, R1, R2, W, 1, RW, INFO )
  607. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  608. INFOT = 3
  609. CALL ZHESVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  610. $ RCOND, R1, R2, W, 1, RW, INFO )
  611. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  612. INFOT = 4
  613. CALL ZHESVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
  614. $ RCOND, R1, R2, W, 1, RW, INFO )
  615. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  616. INFOT = 6
  617. CALL ZHESVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
  618. $ RCOND, R1, R2, W, 4, RW, INFO )
  619. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  620. INFOT = 8
  621. CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
  622. $ RCOND, R1, R2, W, 4, RW, INFO )
  623. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  624. INFOT = 11
  625. CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
  626. $ RCOND, R1, R2, W, 4, RW, INFO )
  627. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  628. INFOT = 13
  629. CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
  630. $ RCOND, R1, R2, W, 4, RW, INFO )
  631. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  632. INFOT = 18
  633. CALL ZHESVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
  634. $ RCOND, R1, R2, W, 3, RW, INFO )
  635. CALL CHKXER( 'ZHESVX', INFOT, NOUT, LERR, OK )
  636. *
  637. ELSE IF( LSAMEN( 2, C2, 'HR' ) ) THEN
  638. *
  639. * ZHESV_ROOK
  640. *
  641. SRNAMT = 'ZHESV_ROOK'
  642. INFOT = 1
  643. CALL ZHESV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  644. CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
  645. INFOT = 2
  646. CALL ZHESV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  647. CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
  648. INFOT = 3
  649. CALL ZHESV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  650. CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
  651. INFOT = 8
  652. CALL ZHESV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  653. CALL CHKXER( 'ZHESV_ROOK', INFOT, NOUT, LERR, OK )
  654. *
  655. ELSE IF( LSAMEN( 2, C2, 'HP' ) ) THEN
  656. *
  657. * ZHPSV
  658. *
  659. SRNAMT = 'ZHPSV '
  660. INFOT = 1
  661. CALL ZHPSV( '/', 0, 0, A, IP, B, 1, INFO )
  662. CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
  663. INFOT = 2
  664. CALL ZHPSV( 'U', -1, 0, A, IP, B, 1, INFO )
  665. CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
  666. INFOT = 3
  667. CALL ZHPSV( 'U', 0, -1, A, IP, B, 1, INFO )
  668. CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
  669. INFOT = 7
  670. CALL ZHPSV( 'U', 2, 0, A, IP, B, 1, INFO )
  671. CALL CHKXER( 'ZHPSV ', INFOT, NOUT, LERR, OK )
  672. *
  673. * ZHPSVX
  674. *
  675. SRNAMT = 'ZHPSVX'
  676. INFOT = 1
  677. CALL ZHPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  678. $ R2, W, RW, INFO )
  679. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  680. INFOT = 2
  681. CALL ZHPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  682. $ R2, W, RW, INFO )
  683. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  684. INFOT = 3
  685. CALL ZHPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  686. $ R2, W, RW, INFO )
  687. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  688. INFOT = 4
  689. CALL ZHPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
  690. $ R2, W, RW, INFO )
  691. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  692. INFOT = 9
  693. CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
  694. $ R2, W, RW, INFO )
  695. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  696. INFOT = 11
  697. CALL ZHPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
  698. $ R2, W, RW, INFO )
  699. CALL CHKXER( 'ZHPSVX', INFOT, NOUT, LERR, OK )
  700. *
  701. ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
  702. *
  703. * ZSYSV
  704. *
  705. SRNAMT = 'ZSYSV '
  706. INFOT = 1
  707. CALL ZSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  708. CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
  709. INFOT = 2
  710. CALL ZSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  711. CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
  712. INFOT = 3
  713. CALL ZSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  714. CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
  715. INFOT = 8
  716. CALL ZSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  717. CALL CHKXER( 'ZSYSV ', INFOT, NOUT, LERR, OK )
  718. *
  719. * ZSYSVX
  720. *
  721. SRNAMT = 'ZSYSVX'
  722. INFOT = 1
  723. CALL ZSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  724. $ RCOND, R1, R2, W, 1, RW, INFO )
  725. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  726. INFOT = 2
  727. CALL ZSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  728. $ RCOND, R1, R2, W, 1, RW, INFO )
  729. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  730. INFOT = 3
  731. CALL ZSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  732. $ RCOND, R1, R2, W, 1, RW, INFO )
  733. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  734. INFOT = 4
  735. CALL ZSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
  736. $ RCOND, R1, R2, W, 1, RW, INFO )
  737. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  738. INFOT = 6
  739. CALL ZSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
  740. $ RCOND, R1, R2, W, 4, RW, INFO )
  741. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  742. INFOT = 8
  743. CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
  744. $ RCOND, R1, R2, W, 4, RW, INFO )
  745. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  746. INFOT = 11
  747. CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
  748. $ RCOND, R1, R2, W, 4, RW, INFO )
  749. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  750. INFOT = 13
  751. CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
  752. $ RCOND, R1, R2, W, 4, RW, INFO )
  753. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  754. INFOT = 18
  755. CALL ZSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
  756. $ RCOND, R1, R2, W, 3, RW, INFO )
  757. CALL CHKXER( 'ZSYSVX', INFOT, NOUT, LERR, OK )
  758. *
  759. ELSE IF( LSAMEN( 2, C2, 'SR' ) ) THEN
  760. *
  761. * ZSYSV_ROOK
  762. *
  763. SRNAMT = 'ZSYSV_ROOK'
  764. INFOT = 1
  765. CALL ZSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  766. CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
  767. INFOT = 2
  768. CALL ZSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  769. CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
  770. INFOT = 3
  771. CALL ZSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  772. CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
  773. INFOT = 8
  774. CALL ZSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  775. CALL CHKXER( 'ZSYSV_ROOK', INFOT, NOUT, LERR, OK )
  776. *
  777. ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
  778. *
  779. * ZSPSV
  780. *
  781. SRNAMT = 'ZSPSV '
  782. INFOT = 1
  783. CALL ZSPSV( '/', 0, 0, A, IP, B, 1, INFO )
  784. CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
  785. INFOT = 2
  786. CALL ZSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
  787. CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
  788. INFOT = 3
  789. CALL ZSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
  790. CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
  791. INFOT = 7
  792. CALL ZSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
  793. CALL CHKXER( 'ZSPSV ', INFOT, NOUT, LERR, OK )
  794. *
  795. * ZSPSVX
  796. *
  797. SRNAMT = 'ZSPSVX'
  798. INFOT = 1
  799. CALL ZSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  800. $ R2, W, RW, INFO )
  801. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  802. INFOT = 2
  803. CALL ZSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  804. $ R2, W, RW, INFO )
  805. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  806. INFOT = 3
  807. CALL ZSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  808. $ R2, W, RW, INFO )
  809. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  810. INFOT = 4
  811. CALL ZSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
  812. $ R2, W, RW, INFO )
  813. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  814. INFOT = 9
  815. CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
  816. $ R2, W, RW, INFO )
  817. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  818. INFOT = 11
  819. CALL ZSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
  820. $ R2, W, RW, INFO )
  821. CALL CHKXER( 'ZSPSVX', INFOT, NOUT, LERR, OK )
  822. END IF
  823. *
  824. * Print a summary line.
  825. *
  826. IF( OK ) THEN
  827. WRITE( NOUT, FMT = 9999 )PATH
  828. ELSE
  829. WRITE( NOUT, FMT = 9998 )PATH
  830. END IF
  831. *
  832. 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
  833. 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
  834. $ 'exits ***' )
  835. *
  836. RETURN
  837. *
  838. * End of ZERRVX
  839. *
  840. END