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

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