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.

serrvxx.f 41 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990
  1. *> \brief \b SERRVXX
  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 SERRVX( 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. *> SERRVX tests the error exits for the REAL 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 single_lin
  54. *
  55. * =====================================================================
  56. SUBROUTINE SERRVX( 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 ), IW( NMAX )
  84. REAL A( NMAX, NMAX ), AF( NMAX, NMAX ), B( NMAX ),
  85. $ C( NMAX ), R( NMAX ), R1( NMAX ), R2( NMAX ),
  86. $ W( 2*NMAX ), X( NMAX ), ERR_BNDS_N( NMAX, 3 ),
  87. $ ERR_BNDS_C( NMAX, 3 ), PARAMS( 1 )
  88. * ..
  89. * .. External Functions ..
  90. LOGICAL LSAMEN
  91. EXTERNAL LSAMEN
  92. * ..
  93. * .. External Subroutines ..
  94. EXTERNAL CHKXER, SGBSV, SGBSVX, SGESV, SGESVX, SGTSV,
  95. $ SGTSVX, SPBSV, SPBSVX, SPOSV, SPOSVX, SPPSV,
  96. $ SPPSVX, SPTSV, SPTSVX, SSPSV, SSPSVX, SSYSV,
  97. $ SSYSV_ROOK, SSYSVX, SGESVXX, SSYSVXX, SPOSVXX,
  98. $ SGBSVXX
  99. * ..
  100. * .. Scalars in Common ..
  101. LOGICAL LERR, OK
  102. CHARACTER*32 SRNAMT
  103. INTEGER INFOT, NOUT
  104. * ..
  105. * .. Common blocks ..
  106. COMMON / INFOC / INFOT, NOUT, OK, LERR
  107. COMMON / SRNAMC / SRNAMT
  108. * ..
  109. * .. Intrinsic Functions ..
  110. INTRINSIC REAL
  111. * ..
  112. * .. Executable Statements ..
  113. *
  114. NOUT = NUNIT
  115. WRITE( NOUT, FMT = * )
  116. C2 = PATH( 2: 3 )
  117. *
  118. * Set the variables to innocuous values.
  119. *
  120. DO 20 J = 1, NMAX
  121. DO 10 I = 1, NMAX
  122. A( I, J ) = 1. / REAL( I+J )
  123. AF( I, J ) = 1. / REAL( I+J )
  124. 10 CONTINUE
  125. B( J ) = 0.
  126. R1( J ) = 0.
  127. R2( J ) = 0.
  128. W( J ) = 0.
  129. X( J ) = 0.
  130. C( J ) = 0.
  131. R( J ) = 0.
  132. IP( J ) = J
  133. 20 CONTINUE
  134. EQ = ' '
  135. OK = .TRUE.
  136. *
  137. IF( LSAMEN( 2, C2, 'GE' ) ) THEN
  138. *
  139. * SGESV
  140. *
  141. SRNAMT = 'SGESV '
  142. INFOT = 1
  143. CALL SGESV( -1, 0, A, 1, IP, B, 1, INFO )
  144. CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
  145. INFOT = 2
  146. CALL SGESV( 0, -1, A, 1, IP, B, 1, INFO )
  147. CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
  148. INFOT = 4
  149. CALL SGESV( 2, 1, A, 1, IP, B, 2, INFO )
  150. CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
  151. INFOT = 7
  152. CALL SGESV( 2, 1, A, 2, IP, B, 1, INFO )
  153. CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
  154. *
  155. * SGESVX
  156. *
  157. SRNAMT = 'SGESVX'
  158. INFOT = 1
  159. CALL SGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  160. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  161. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  162. INFOT = 2
  163. CALL SGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  164. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  165. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  166. INFOT = 3
  167. CALL SGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  168. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  169. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  170. INFOT = 4
  171. CALL SGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  172. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  173. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  174. INFOT = 6
  175. CALL SGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
  176. $ X, 2, RCOND, R1, R2, W, IW, INFO )
  177. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  178. INFOT = 8
  179. CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
  180. $ X, 2, RCOND, R1, R2, W, IW, INFO )
  181. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  182. INFOT = 10
  183. EQ = '/'
  184. CALL SGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  185. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  186. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  187. INFOT = 11
  188. EQ = 'R'
  189. CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  190. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  191. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  192. INFOT = 12
  193. EQ = 'C'
  194. CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  195. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  196. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  197. INFOT = 14
  198. CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
  199. $ X, 2, RCOND, R1, R2, W, IW, INFO )
  200. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  201. INFOT = 16
  202. CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
  203. $ X, 1, RCOND, R1, R2, W, IW, INFO )
  204. CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
  205. *
  206. * SGESVXX
  207. *
  208. N_ERR_BNDS = 3
  209. NPARAMS = 1
  210. SRNAMT = 'SGESVXX'
  211. INFOT = 1
  212. CALL SGESVXX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  213. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  214. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  215. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  216. INFOT = 2
  217. CALL SGESVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  218. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  219. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  220. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  221. INFOT = 3
  222. CALL SGESVXX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  223. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  224. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  225. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  226. INFOT = 4
  227. CALL SGESVXX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  228. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  229. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  230. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  231. INFOT = 6
  232. CALL SGESVXX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
  233. $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  234. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  235. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  236. INFOT = 8
  237. CALL SGESVXX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
  238. $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  239. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  240. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  241. INFOT = 10
  242. EQ = '/'
  243. CALL SGESVXX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  244. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  245. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  246. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  247. INFOT = 11
  248. EQ = 'R'
  249. CALL SGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  250. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  251. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  252. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  253. INFOT = 12
  254. EQ = 'C'
  255. CALL SGESVXX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
  256. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  257. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  258. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  259. INFOT = 14
  260. CALL SGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
  261. $ X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  262. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  263. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  264. INFOT = 16
  265. CALL SGESVXX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
  266. $ X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  267. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  268. CALL CHKXER( 'SGESVXX', INFOT, NOUT, LERR, OK )
  269. *
  270. ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
  271. *
  272. * SGBSV
  273. *
  274. SRNAMT = 'SGBSV '
  275. INFOT = 1
  276. CALL SGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
  277. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  278. INFOT = 2
  279. CALL SGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
  280. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  281. INFOT = 3
  282. CALL SGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
  283. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  284. INFOT = 4
  285. CALL SGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
  286. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  287. INFOT = 6
  288. CALL SGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
  289. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  290. INFOT = 9
  291. CALL SGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
  292. CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
  293. *
  294. * SGBSVX
  295. *
  296. SRNAMT = 'SGBSVX'
  297. INFOT = 1
  298. CALL SGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  299. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  300. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  301. INFOT = 2
  302. CALL SGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  303. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  304. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  305. INFOT = 3
  306. CALL SGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  307. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  308. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  309. INFOT = 4
  310. CALL SGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  311. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  312. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  313. INFOT = 5
  314. CALL SGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
  315. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  316. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  317. INFOT = 6
  318. CALL SGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
  319. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  320. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  321. INFOT = 8
  322. CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
  323. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  324. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  325. INFOT = 10
  326. CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
  327. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  328. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  329. INFOT = 12
  330. EQ = '/'
  331. CALL SGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  332. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  333. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  334. INFOT = 13
  335. EQ = 'R'
  336. CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  337. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  338. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  339. INFOT = 14
  340. EQ = 'C'
  341. CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  342. $ B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  343. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  344. INFOT = 16
  345. CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  346. $ B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
  347. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  348. INFOT = 18
  349. CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  350. $ B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
  351. CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
  352. *
  353. * SGBSVXX
  354. *
  355. N_ERR_BNDS = 3
  356. NPARAMS = 1
  357. SRNAMT = 'SGBSVXX'
  358. INFOT = 1
  359. CALL SGBSVXX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
  360. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  361. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  362. $ INFO )
  363. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  364. INFOT = 2
  365. CALL SGBSVXX( 'N', '/', 0, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
  366. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  367. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  368. $ INFO )
  369. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  370. INFOT = 3
  371. CALL SGBSVXX( 'N', 'N', -1, 1, 1, 0, A, 1, AF, 1, IP, EQ, R, C,
  372. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  373. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  374. $ INFO )
  375. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  376. INFOT = 4
  377. CALL SGBSVXX( 'N', 'N', 2, -1, 1, 0, A, 1, AF, 1, IP, EQ,
  378. $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  379. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  380. $ INFO )
  381. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  382. INFOT = 5
  383. CALL SGBSVXX( 'N', 'N', 2, 1, -1, 0, A, 1, AF, 1, IP, EQ,
  384. $ R, C, B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  385. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  386. $ INFO )
  387. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  388. INFOT = 6
  389. CALL SGBSVXX( 'N', 'N', 0, 1, 1, -1, A, 1, AF, 1, IP, EQ, R, C,
  390. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  391. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  392. $ INFO )
  393. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  394. INFOT = 8
  395. CALL SGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 2, AF, 2, IP, EQ, R, C,
  396. $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  397. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  398. $ INFO )
  399. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  400. INFOT = 10
  401. CALL SGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 3, IP, EQ, R, C,
  402. $ B, 2, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  403. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  404. $ INFO )
  405. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  406. INFOT = 12
  407. EQ = '/'
  408. CALL SGBSVXX( 'F', 'N', 0, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
  409. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  410. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  411. $ INFO )
  412. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  413. INFOT = 13
  414. EQ = 'R'
  415. CALL SGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
  416. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  417. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  418. $ INFO )
  419. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  420. INFOT = 14
  421. EQ = 'C'
  422. CALL SGBSVXX( 'F', 'N', 1, 1, 1, 0, A, 3, AF, 4, IP, EQ, R, C,
  423. $ B, 1, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  424. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  425. $ INFO )
  426. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  427. INFOT = 15
  428. CALL SGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
  429. $ B, 1, X, 2, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  430. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  431. $ INFO )
  432. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  433. INFOT = 16
  434. CALL SGBSVXX( 'N', 'N', 2, 1, 1, 1, A, 3, AF, 4, IP, EQ, R, C,
  435. $ B, 2, X, 1, RCOND, RPVGRW, BERR, N_ERR_BNDS,
  436. $ ERR_BNDS_N, ERR_BNDS_C, NPARAMS, PARAMS, W, IW,
  437. $ INFO )
  438. CALL CHKXER( 'SGBSVXX', INFOT, NOUT, LERR, OK )
  439. *
  440. ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
  441. *
  442. * SGTSV
  443. *
  444. SRNAMT = 'SGTSV '
  445. INFOT = 1
  446. CALL SGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
  447. $ INFO )
  448. CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
  449. INFOT = 2
  450. CALL SGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
  451. $ INFO )
  452. CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
  453. INFOT = 7
  454. CALL SGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
  455. CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
  456. *
  457. * SGTSVX
  458. *
  459. SRNAMT = 'SGTSVX'
  460. INFOT = 1
  461. CALL SGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  462. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  463. $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  464. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  465. INFOT = 2
  466. CALL SGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  467. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  468. $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  469. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  470. INFOT = 3
  471. CALL SGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
  472. $ AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
  473. $ IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
  474. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  475. INFOT = 4
  476. CALL SGTSVX( 'N', 'N', 0, -1, 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, IW, INFO )
  479. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  480. INFOT = 14
  481. CALL SGTSVX( 'N', 'N', 2, 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, 2, RCOND, R1, R2, W, IW, INFO )
  484. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  485. INFOT = 16
  486. CALL SGTSVX( 'N', 'N', 2, 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, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
  489. CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
  490. *
  491. ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
  492. *
  493. * SPOSV
  494. *
  495. SRNAMT = 'SPOSV '
  496. INFOT = 1
  497. CALL SPOSV( '/', 0, 0, A, 1, B, 1, INFO )
  498. CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
  499. INFOT = 2
  500. CALL SPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
  501. CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
  502. INFOT = 3
  503. CALL SPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
  504. CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
  505. INFOT = 5
  506. CALL SPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
  507. CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
  508. INFOT = 7
  509. CALL SPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
  510. CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
  511. *
  512. * SPOSVX
  513. *
  514. SRNAMT = 'SPOSVX'
  515. INFOT = 1
  516. CALL SPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  517. $ RCOND, R1, R2, W, IW, INFO )
  518. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  519. INFOT = 2
  520. CALL SPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  521. $ RCOND, R1, R2, W, IW, INFO )
  522. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  523. INFOT = 3
  524. CALL SPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  525. $ RCOND, R1, R2, W, IW, INFO )
  526. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  527. INFOT = 4
  528. CALL SPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  529. $ RCOND, R1, R2, W, IW, INFO )
  530. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  531. INFOT = 6
  532. CALL SPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
  533. $ RCOND, R1, R2, W, IW, INFO )
  534. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  535. INFOT = 8
  536. CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
  537. $ RCOND, R1, R2, W, IW, INFO )
  538. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  539. INFOT = 9
  540. EQ = '/'
  541. CALL SPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  542. $ RCOND, R1, R2, W, IW, INFO )
  543. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  544. INFOT = 10
  545. EQ = 'Y'
  546. CALL SPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  547. $ RCOND, R1, R2, W, IW, INFO )
  548. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  549. INFOT = 12
  550. CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
  551. $ RCOND, R1, R2, W, IW, INFO )
  552. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  553. INFOT = 14
  554. CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
  555. $ RCOND, R1, R2, W, IW, INFO )
  556. CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
  557. *
  558. * SPOSVXX
  559. *
  560. N_ERR_BNDS = 3
  561. NPARAMS = 1
  562. SRNAMT = 'SPOSVXX'
  563. INFOT = 1
  564. CALL SPOSVXX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  565. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  566. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  567. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  568. INFOT = 2
  569. CALL SPOSVXX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  570. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  571. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  572. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  573. INFOT = 3
  574. CALL SPOSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  575. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  576. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  577. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  578. INFOT = 4
  579. CALL SPOSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  580. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  581. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  582. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  583. INFOT = 6
  584. CALL SPOSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
  585. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  586. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  587. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  588. INFOT = 8
  589. CALL SPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
  590. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  591. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  592. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  593. INFOT = 9
  594. EQ = '/'
  595. CALL SPOSVXX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  596. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  597. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  598. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  599. INFOT = 10
  600. EQ = 'Y'
  601. CALL SPOSVXX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  602. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  603. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  604. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  605. INFOT = 12
  606. CALL SPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
  607. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  608. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  609. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  610. INFOT = 14
  611. CALL SPOSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
  612. $ RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  613. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  614. CALL CHKXER( 'SPOSVXX', INFOT, NOUT, LERR, OK )
  615. *
  616. ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
  617. *
  618. * SPPSV
  619. *
  620. SRNAMT = 'SPPSV '
  621. INFOT = 1
  622. CALL SPPSV( '/', 0, 0, A, B, 1, INFO )
  623. CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
  624. INFOT = 2
  625. CALL SPPSV( 'U', -1, 0, A, B, 1, INFO )
  626. CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
  627. INFOT = 3
  628. CALL SPPSV( 'U', 0, -1, A, B, 1, INFO )
  629. CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
  630. INFOT = 6
  631. CALL SPPSV( 'U', 2, 0, A, B, 1, INFO )
  632. CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
  633. *
  634. * SPPSVX
  635. *
  636. SRNAMT = 'SPPSVX'
  637. INFOT = 1
  638. CALL SPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  639. $ R1, R2, W, IW, INFO )
  640. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  641. INFOT = 2
  642. CALL SPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  643. $ R1, R2, W, IW, INFO )
  644. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  645. INFOT = 3
  646. CALL SPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  647. $ R1, R2, W, IW, INFO )
  648. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  649. INFOT = 4
  650. CALL SPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
  651. $ R1, R2, W, IW, INFO )
  652. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  653. INFOT = 7
  654. EQ = '/'
  655. CALL SPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  656. $ R1, R2, W, IW, INFO )
  657. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  658. INFOT = 8
  659. EQ = 'Y'
  660. CALL SPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
  661. $ R1, R2, W, IW, INFO )
  662. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  663. INFOT = 10
  664. CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
  665. $ R1, R2, W, IW, INFO )
  666. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  667. INFOT = 12
  668. CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
  669. $ R1, R2, W, IW, INFO )
  670. CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
  671. *
  672. ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
  673. *
  674. * SPBSV
  675. *
  676. SRNAMT = 'SPBSV '
  677. INFOT = 1
  678. CALL SPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
  679. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  680. INFOT = 2
  681. CALL SPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
  682. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  683. INFOT = 3
  684. CALL SPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
  685. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  686. INFOT = 4
  687. CALL SPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
  688. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  689. INFOT = 6
  690. CALL SPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
  691. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  692. INFOT = 8
  693. CALL SPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
  694. CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
  695. *
  696. * SPBSVX
  697. *
  698. SRNAMT = 'SPBSVX'
  699. INFOT = 1
  700. CALL SPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  701. $ RCOND, R1, R2, W, IW, INFO )
  702. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  703. INFOT = 2
  704. CALL SPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  705. $ RCOND, R1, R2, W, IW, INFO )
  706. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  707. INFOT = 3
  708. CALL SPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
  709. $ 1, RCOND, R1, R2, W, IW, INFO )
  710. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  711. INFOT = 4
  712. CALL SPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
  713. $ 1, RCOND, R1, R2, W, IW, INFO )
  714. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  715. INFOT = 5
  716. CALL SPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
  717. $ 1, RCOND, R1, R2, W, IW, INFO )
  718. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  719. INFOT = 7
  720. CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
  721. $ RCOND, R1, R2, W, IW, INFO )
  722. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  723. INFOT = 9
  724. CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
  725. $ RCOND, R1, R2, W, IW, INFO )
  726. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  727. INFOT = 10
  728. EQ = '/'
  729. CALL SPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  730. $ RCOND, R1, R2, W, IW, INFO )
  731. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  732. INFOT = 11
  733. EQ = 'Y'
  734. CALL SPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
  735. $ RCOND, R1, R2, W, IW, INFO )
  736. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  737. INFOT = 13
  738. CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
  739. $ RCOND, R1, R2, W, IW, INFO )
  740. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  741. INFOT = 15
  742. CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
  743. $ RCOND, R1, R2, W, IW, INFO )
  744. CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
  745. *
  746. ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
  747. *
  748. * SPTSV
  749. *
  750. SRNAMT = 'SPTSV '
  751. INFOT = 1
  752. CALL SPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
  753. CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
  754. INFOT = 2
  755. CALL SPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
  756. CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
  757. INFOT = 6
  758. CALL SPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
  759. CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
  760. *
  761. * SPTSVX
  762. *
  763. SRNAMT = 'SPTSVX'
  764. INFOT = 1
  765. CALL SPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
  766. $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
  767. CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
  768. INFOT = 2
  769. CALL SPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
  770. $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
  771. CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
  772. INFOT = 3
  773. CALL SPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
  774. $ AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
  775. CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
  776. INFOT = 9
  777. CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
  778. $ AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO )
  779. CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
  780. INFOT = 11
  781. CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
  782. $ AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO )
  783. CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
  784. *
  785. ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
  786. *
  787. * SSYSV
  788. *
  789. SRNAMT = 'SSYSV '
  790. INFOT = 1
  791. CALL SSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  792. CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
  793. INFOT = 2
  794. CALL SSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  795. CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
  796. INFOT = 3
  797. CALL SSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  798. CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
  799. INFOT = 8
  800. CALL SSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  801. CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
  802. *
  803. * SSYSVX
  804. *
  805. SRNAMT = 'SSYSVX'
  806. INFOT = 1
  807. CALL SSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  808. $ RCOND, R1, R2, W, 1, IW, INFO )
  809. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  810. INFOT = 2
  811. CALL SSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  812. $ RCOND, R1, R2, W, 1, IW, INFO )
  813. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  814. INFOT = 3
  815. CALL SSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
  816. $ RCOND, R1, R2, W, 1, IW, INFO )
  817. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  818. INFOT = 4
  819. CALL SSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
  820. $ RCOND, R1, R2, W, 1, IW, INFO )
  821. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  822. INFOT = 6
  823. CALL SSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
  824. $ RCOND, R1, R2, W, 4, IW, INFO )
  825. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  826. INFOT = 8
  827. CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
  828. $ RCOND, R1, R2, W, 4, IW, INFO )
  829. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  830. INFOT = 11
  831. CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
  832. $ RCOND, R1, R2, W, 4, IW, INFO )
  833. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  834. INFOT = 13
  835. CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
  836. $ RCOND, R1, R2, W, 4, IW, INFO )
  837. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  838. INFOT = 18
  839. CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
  840. $ RCOND, R1, R2, W, 3, IW, INFO )
  841. CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
  842. *
  843. * SSYSVXX
  844. *
  845. N_ERR_BNDS = 3
  846. NPARAMS = 1
  847. SRNAMT = 'SSYSVXX'
  848. INFOT = 1
  849. EQ = 'N'
  850. CALL SSYSVXX( '/', 'U', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
  851. $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  852. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  853. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  854. INFOT = 2
  855. CALL SSYSVXX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
  856. $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  857. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  858. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  859. INFOT = 3
  860. CALL SSYSVXX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, EQ, R, B, 1, X,
  861. $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  862. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  863. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  864. INFOT = 4
  865. EQ = '/'
  866. CALL SSYSVXX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, EQ, R, B, 1, X,
  867. $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  868. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  869. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  870. EQ = 'Y'
  871. INFOT = 6
  872. CALL SSYSVXX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, EQ, R, B, 2, X,
  873. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  874. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  875. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  876. INFOT = 8
  877. CALL SSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, EQ, R, B, 2, X,
  878. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  879. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  880. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  881. INFOT = 10
  882. CALL SSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, 'A', R, B, 2, X,
  883. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  884. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  885. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  886. INFOT = 11
  887. EQ='Y'
  888. CALL SSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
  889. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  890. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  891. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  892. INFOT = 11
  893. EQ='Y'
  894. R(1) = -ONE
  895. CALL SSYSVXX( 'F', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
  896. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  897. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  898. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  899. INFOT = 13
  900. EQ = 'N'
  901. CALL SSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 1, X,
  902. $ 2, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  903. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  904. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  905. INFOT = 15
  906. CALL SSYSVXX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, EQ, R, B, 2, X,
  907. $ 1, RCOND, RPVGRW, BERR, N_ERR_BNDS, ERR_BNDS_N,
  908. $ ERR_BNDS_C, NPARAMS, PARAMS, W, IW, INFO )
  909. CALL CHKXER( 'SSYSVXX', INFOT, NOUT, LERR, OK )
  910. *
  911. * SSYSV_ROOK
  912. *
  913. SRNAMT = 'SSYSV_ROOK'
  914. INFOT = 1
  915. CALL SSYSV_ROOK( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
  916. CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
  917. INFOT = 2
  918. CALL SSYSV_ROOK( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
  919. CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
  920. INFOT = 3
  921. CALL SSYSV_ROOK( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
  922. CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
  923. INFOT = 8
  924. CALL SSYSV_ROOK( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
  925. CALL CHKXER( 'SSYSV_ROOK', INFOT, NOUT, LERR, OK )
  926. *
  927. ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
  928. *
  929. * SSPSV
  930. *
  931. SRNAMT = 'SSPSV '
  932. INFOT = 1
  933. CALL SSPSV( '/', 0, 0, A, IP, B, 1, INFO )
  934. CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
  935. INFOT = 2
  936. CALL SSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
  937. CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
  938. INFOT = 3
  939. CALL SSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
  940. CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
  941. INFOT = 7
  942. CALL SSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
  943. CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
  944. *
  945. * SSPSVX
  946. *
  947. SRNAMT = 'SSPSVX'
  948. INFOT = 1
  949. CALL SSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  950. $ R2, W, IW, INFO )
  951. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  952. INFOT = 2
  953. CALL SSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  954. $ R2, W, IW, INFO )
  955. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  956. INFOT = 3
  957. CALL SSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
  958. $ R2, W, IW, INFO )
  959. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  960. INFOT = 4
  961. CALL SSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
  962. $ R2, W, IW, INFO )
  963. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  964. INFOT = 9
  965. CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
  966. $ R2, W, IW, INFO )
  967. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  968. INFOT = 11
  969. CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
  970. $ R2, W, IW, INFO )
  971. CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
  972. END IF
  973. *
  974. * Print a summary line.
  975. *
  976. IF( OK ) THEN
  977. WRITE( NOUT, FMT = 9999 )PATH
  978. ELSE
  979. WRITE( NOUT, FMT = 9998 )PATH
  980. END IF
  981. *
  982. 9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
  983. 9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
  984. $ 'exits ***' )
  985. *
  986. RETURN
  987. *
  988. * End of SERRVX
  989. *
  990. END