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.

cerrvx.f 32 kB

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