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.

cerrvxx.f 49 kB

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