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.

zerrtr.f 19 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525
  1. *> \brief \b ZERRTR
  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 ZERRTR( 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. *> ZERRTR tests the error exits for the COMPLEX*16 triangular routines.
  25. *> \endverbatim
  26. *
  27. * Arguments:
  28. * ==========
  29. *
  30. *> \param[in] PATH
  31. *> \verbatim
  32. *> PATH is CHARACTER*3
  33. *> The LAPACK path name for the routines to be tested.
  34. *> \endverbatim
  35. *>
  36. *> \param[in] NUNIT
  37. *> \verbatim
  38. *> NUNIT is INTEGER
  39. *> The unit number for output.
  40. *> \endverbatim
  41. *
  42. * Authors:
  43. * ========
  44. *
  45. *> \author Univ. of Tennessee
  46. *> \author Univ. of California Berkeley
  47. *> \author Univ. of Colorado Denver
  48. *> \author NAG Ltd.
  49. *
  50. *> \ingroup complex16_lin
  51. *
  52. * =====================================================================
  53. SUBROUTINE ZERRTR( PATH, NUNIT )
  54. *
  55. * -- LAPACK test routine --
  56. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  57. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  58. *
  59. * .. Scalar Arguments ..
  60. CHARACTER*3 PATH
  61. INTEGER NUNIT
  62. * ..
  63. *
  64. * =====================================================================
  65. *
  66. * .. Parameters ..
  67. INTEGER NMAX
  68. PARAMETER ( NMAX = 2 )
  69. * ..
  70. * .. Local Scalars ..
  71. CHARACTER*2 C2
  72. INTEGER INFO
  73. DOUBLE PRECISION RCOND, SCALE, SCALES(0)
  74. * ..
  75. * .. Local Arrays ..
  76. DOUBLE PRECISION R1( NMAX ), R2( NMAX ), RW( NMAX )
  77. COMPLEX*16 A( NMAX, NMAX ), B( NMAX ), W( NMAX ),
  78. $ X( NMAX )
  79. * ..
  80. * .. External Functions ..
  81. LOGICAL LSAMEN
  82. EXTERNAL LSAMEN
  83. * ..
  84. * .. External Subroutines ..
  85. EXTERNAL ALAESM, CHKXER, ZLATBS, ZLATPS, ZLATRS,
  86. $ ZLATRS3, ZTBCON, ZTBRFS, ZTBTRS, ZTPCON,
  87. $ ZTPRFS, ZTPTRI, ZTPTRS, ZTRCON, ZTRRFS, ZTRTI2,
  88. $ ZTRTRI, ZTRTRS
  89. * ..
  90. * .. Scalars in Common ..
  91. LOGICAL LERR, OK
  92. CHARACTER*32 SRNAMT
  93. INTEGER INFOT, NOUT
  94. * ..
  95. * .. Common blocks ..
  96. COMMON / INFOC / INFOT, NOUT, OK, LERR
  97. COMMON / SRNAMC / SRNAMT
  98. * ..
  99. * .. Executable Statements ..
  100. *
  101. NOUT = NUNIT
  102. WRITE( NOUT, FMT = * )
  103. C2 = PATH( 2: 3 )
  104. A( 1, 1 ) = 1.D0
  105. A( 1, 2 ) = 2.D0
  106. A( 2, 2 ) = 3.D0
  107. A( 2, 1 ) = 4.D0
  108. OK = .TRUE.
  109. *
  110. * Test error exits for the general triangular routines.
  111. *
  112. IF( LSAMEN( 2, C2, 'TR' ) ) THEN
  113. *
  114. * ZTRTRI
  115. *
  116. SRNAMT = 'ZTRTRI'
  117. INFOT = 1
  118. CALL ZTRTRI( '/', 'N', 0, A, 1, INFO )
  119. CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
  120. INFOT = 2
  121. CALL ZTRTRI( 'U', '/', 0, A, 1, INFO )
  122. CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
  123. INFOT = 3
  124. CALL ZTRTRI( 'U', 'N', -1, A, 1, INFO )
  125. CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
  126. INFOT = 5
  127. CALL ZTRTRI( 'U', 'N', 2, A, 1, INFO )
  128. CALL CHKXER( 'ZTRTRI', INFOT, NOUT, LERR, OK )
  129. *
  130. * ZTRTI2
  131. *
  132. SRNAMT = 'ZTRTI2'
  133. INFOT = 1
  134. CALL ZTRTI2( '/', 'N', 0, A, 1, INFO )
  135. CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
  136. INFOT = 2
  137. CALL ZTRTI2( 'U', '/', 0, A, 1, INFO )
  138. CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
  139. INFOT = 3
  140. CALL ZTRTI2( 'U', 'N', -1, A, 1, INFO )
  141. CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
  142. INFOT = 5
  143. CALL ZTRTI2( 'U', 'N', 2, A, 1, INFO )
  144. CALL CHKXER( 'ZTRTI2', INFOT, NOUT, LERR, OK )
  145. *
  146. *
  147. * ZTRTRS
  148. *
  149. SRNAMT = 'ZTRTRS'
  150. INFOT = 1
  151. CALL ZTRTRS( '/', 'N', 'N', 0, 0, A, 1, X, 1, INFO )
  152. CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
  153. INFOT = 2
  154. CALL ZTRTRS( 'U', '/', 'N', 0, 0, A, 1, X, 1, INFO )
  155. CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
  156. INFOT = 3
  157. CALL ZTRTRS( 'U', 'N', '/', 0, 0, A, 1, X, 1, INFO )
  158. CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
  159. INFOT = 4
  160. CALL ZTRTRS( 'U', 'N', 'N', -1, 0, A, 1, X, 1, INFO )
  161. CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
  162. INFOT = 5
  163. CALL ZTRTRS( 'U', 'N', 'N', 0, -1, A, 1, X, 1, INFO )
  164. CALL CHKXER( 'ZTRTRS', INFOT, NOUT, LERR, OK )
  165. INFOT = 7
  166. *
  167. * ZTRRFS
  168. *
  169. SRNAMT = 'ZTRRFS'
  170. INFOT = 1
  171. CALL ZTRRFS( '/', 'N', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
  172. $ RW, INFO )
  173. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  174. INFOT = 2
  175. CALL ZTRRFS( 'U', '/', 'N', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
  176. $ RW, INFO )
  177. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  178. INFOT = 3
  179. CALL ZTRRFS( 'U', 'N', '/', 0, 0, A, 1, B, 1, X, 1, R1, R2, W,
  180. $ RW, INFO )
  181. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  182. INFOT = 4
  183. CALL ZTRRFS( 'U', 'N', 'N', -1, 0, A, 1, B, 1, X, 1, R1, R2, W,
  184. $ RW, INFO )
  185. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  186. INFOT = 5
  187. CALL ZTRRFS( 'U', 'N', 'N', 0, -1, A, 1, B, 1, X, 1, R1, R2, W,
  188. $ RW, INFO )
  189. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  190. INFOT = 7
  191. CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 1, B, 2, X, 2, R1, R2, W,
  192. $ RW, INFO )
  193. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  194. INFOT = 9
  195. CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 1, X, 2, R1, R2, W,
  196. $ RW, INFO )
  197. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  198. INFOT = 11
  199. CALL ZTRRFS( 'U', 'N', 'N', 2, 1, A, 2, B, 2, X, 1, R1, R2, W,
  200. $ RW, INFO )
  201. CALL CHKXER( 'ZTRRFS', INFOT, NOUT, LERR, OK )
  202. *
  203. * ZTRCON
  204. *
  205. SRNAMT = 'ZTRCON'
  206. INFOT = 1
  207. CALL ZTRCON( '/', 'U', 'N', 0, A, 1, RCOND, W, RW, INFO )
  208. CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
  209. INFOT = 2
  210. CALL ZTRCON( '1', '/', 'N', 0, A, 1, RCOND, W, RW, INFO )
  211. CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
  212. INFOT = 3
  213. CALL ZTRCON( '1', 'U', '/', 0, A, 1, RCOND, W, RW, INFO )
  214. CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
  215. INFOT = 4
  216. CALL ZTRCON( '1', 'U', 'N', -1, A, 1, RCOND, W, RW, INFO )
  217. CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
  218. INFOT = 6
  219. CALL ZTRCON( '1', 'U', 'N', 2, A, 1, RCOND, W, RW, INFO )
  220. CALL CHKXER( 'ZTRCON', INFOT, NOUT, LERR, OK )
  221. *
  222. * ZLATRS
  223. *
  224. SRNAMT = 'ZLATRS'
  225. INFOT = 1
  226. CALL ZLATRS( '/', 'N', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
  227. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  228. INFOT = 2
  229. CALL ZLATRS( 'U', '/', 'N', 'N', 0, A, 1, X, SCALE, RW, INFO )
  230. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  231. INFOT = 3
  232. CALL ZLATRS( 'U', 'N', '/', 'N', 0, A, 1, X, SCALE, RW, INFO )
  233. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  234. INFOT = 4
  235. CALL ZLATRS( 'U', 'N', 'N', '/', 0, A, 1, X, SCALE, RW, INFO )
  236. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  237. INFOT = 5
  238. CALL ZLATRS( 'U', 'N', 'N', 'N', -1, A, 1, X, SCALE, RW, INFO )
  239. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  240. INFOT = 7
  241. CALL ZLATRS( 'U', 'N', 'N', 'N', 2, A, 1, X, SCALE, RW, INFO )
  242. CALL CHKXER( 'ZLATRS', INFOT, NOUT, LERR, OK )
  243. *
  244. * ZLATRS3
  245. *
  246. SRNAMT = 'ZLATRS3'
  247. INFOT = 1
  248. CALL ZLATRS3( '/', 'N', 'N', 'N', 0, 0, A, 1, X, 1, SCALES,
  249. $ RW, RW( 2 ), 1, INFO )
  250. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  251. INFOT = 2
  252. CALL ZLATRS3( 'U', '/', 'N', 'N', 0, 0, A, 1, X, 1, SCALES,
  253. $ RW, RW( 2 ), 1, INFO )
  254. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  255. INFOT = 3
  256. CALL ZLATRS3( 'U', 'N', '/', 'N', 0, 0, A, 1, X, 1, SCALES,
  257. $ RW, RW( 2 ), 1, INFO )
  258. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  259. INFOT = 4
  260. CALL ZLATRS3( 'U', 'N', 'N', '/', 0, 0, A, 1, X, 1, SCALES,
  261. $ RW, RW( 2 ), 1, INFO )
  262. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  263. INFOT = 5
  264. CALL ZLATRS3( 'U', 'N', 'N', 'N', -1, 0, A, 1, X, 1, SCALES,
  265. $ RW, RW( 2 ), 1, INFO )
  266. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  267. INFOT = 6
  268. CALL ZLATRS3( 'U', 'N', 'N', 'N', 0, -1, A, 1, X, 1, SCALES,
  269. $ RW, RW( 2 ), 1, INFO )
  270. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  271. INFOT = 8
  272. CALL ZLATRS3( 'U', 'N', 'N', 'N', 2, 0, A, 1, X, 1, SCALES,
  273. $ RW, RW( 2 ), 1, INFO )
  274. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  275. INFOT = 10
  276. CALL ZLATRS3( 'U', 'N', 'N', 'N', 2, 0, A, 2, X, 1, SCALES,
  277. $ RW, RW( 2 ), 1, INFO )
  278. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  279. INFOT = 14
  280. CALL ZLATRS3( 'U', 'N', 'N', 'N', 1, 0, A, 1, X, 1, SCALES,
  281. $ RW, RW( 2 ), 0, INFO )
  282. CALL CHKXER( 'ZLATRS3', INFOT, NOUT, LERR, OK )
  283. *
  284. * Test error exits for the packed triangular routines.
  285. *
  286. ELSE IF( LSAMEN( 2, C2, 'TP' ) ) THEN
  287. *
  288. * ZTPTRI
  289. *
  290. SRNAMT = 'ZTPTRI'
  291. INFOT = 1
  292. CALL ZTPTRI( '/', 'N', 0, A, INFO )
  293. CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
  294. INFOT = 2
  295. CALL ZTPTRI( 'U', '/', 0, A, INFO )
  296. CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
  297. INFOT = 3
  298. CALL ZTPTRI( 'U', 'N', -1, A, INFO )
  299. CALL CHKXER( 'ZTPTRI', INFOT, NOUT, LERR, OK )
  300. *
  301. * ZTPTRS
  302. *
  303. SRNAMT = 'ZTPTRS'
  304. INFOT = 1
  305. CALL ZTPTRS( '/', 'N', 'N', 0, 0, A, X, 1, INFO )
  306. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  307. INFOT = 2
  308. CALL ZTPTRS( 'U', '/', 'N', 0, 0, A, X, 1, INFO )
  309. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  310. INFOT = 3
  311. CALL ZTPTRS( 'U', 'N', '/', 0, 0, A, X, 1, INFO )
  312. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  313. INFOT = 4
  314. CALL ZTPTRS( 'U', 'N', 'N', -1, 0, A, X, 1, INFO )
  315. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  316. INFOT = 5
  317. CALL ZTPTRS( 'U', 'N', 'N', 0, -1, A, X, 1, INFO )
  318. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  319. INFOT = 8
  320. CALL ZTPTRS( 'U', 'N', 'N', 2, 1, A, X, 1, INFO )
  321. CALL CHKXER( 'ZTPTRS', INFOT, NOUT, LERR, OK )
  322. *
  323. * ZTPRFS
  324. *
  325. SRNAMT = 'ZTPRFS'
  326. INFOT = 1
  327. CALL ZTPRFS( '/', 'N', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
  328. $ INFO )
  329. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  330. INFOT = 2
  331. CALL ZTPRFS( 'U', '/', 'N', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
  332. $ INFO )
  333. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  334. INFOT = 3
  335. CALL ZTPRFS( 'U', 'N', '/', 0, 0, A, B, 1, X, 1, R1, R2, W, RW,
  336. $ INFO )
  337. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  338. INFOT = 4
  339. CALL ZTPRFS( 'U', 'N', 'N', -1, 0, A, B, 1, X, 1, R1, R2, W,
  340. $ RW, INFO )
  341. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  342. INFOT = 5
  343. CALL ZTPRFS( 'U', 'N', 'N', 0, -1, A, B, 1, X, 1, R1, R2, W,
  344. $ RW, INFO )
  345. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  346. INFOT = 8
  347. CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 1, X, 2, R1, R2, W, RW,
  348. $ INFO )
  349. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  350. INFOT = 10
  351. CALL ZTPRFS( 'U', 'N', 'N', 2, 1, A, B, 2, X, 1, R1, R2, W, RW,
  352. $ INFO )
  353. CALL CHKXER( 'ZTPRFS', INFOT, NOUT, LERR, OK )
  354. *
  355. * ZTPCON
  356. *
  357. SRNAMT = 'ZTPCON'
  358. INFOT = 1
  359. CALL ZTPCON( '/', 'U', 'N', 0, A, RCOND, W, RW, INFO )
  360. CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
  361. INFOT = 2
  362. CALL ZTPCON( '1', '/', 'N', 0, A, RCOND, W, RW, INFO )
  363. CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
  364. INFOT = 3
  365. CALL ZTPCON( '1', 'U', '/', 0, A, RCOND, W, RW, INFO )
  366. CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
  367. INFOT = 4
  368. CALL ZTPCON( '1', 'U', 'N', -1, A, RCOND, W, RW, INFO )
  369. CALL CHKXER( 'ZTPCON', INFOT, NOUT, LERR, OK )
  370. *
  371. * ZLATPS
  372. *
  373. SRNAMT = 'ZLATPS'
  374. INFOT = 1
  375. CALL ZLATPS( '/', 'N', 'N', 'N', 0, A, X, SCALE, RW, INFO )
  376. CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
  377. INFOT = 2
  378. CALL ZLATPS( 'U', '/', 'N', 'N', 0, A, X, SCALE, RW, INFO )
  379. CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
  380. INFOT = 3
  381. CALL ZLATPS( 'U', 'N', '/', 'N', 0, A, X, SCALE, RW, INFO )
  382. CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
  383. INFOT = 4
  384. CALL ZLATPS( 'U', 'N', 'N', '/', 0, A, X, SCALE, RW, INFO )
  385. CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
  386. INFOT = 5
  387. CALL ZLATPS( 'U', 'N', 'N', 'N', -1, A, X, SCALE, RW, INFO )
  388. CALL CHKXER( 'ZLATPS', INFOT, NOUT, LERR, OK )
  389. *
  390. * Test error exits for the banded triangular routines.
  391. *
  392. ELSE IF( LSAMEN( 2, C2, 'TB' ) ) THEN
  393. *
  394. * ZTBTRS
  395. *
  396. SRNAMT = 'ZTBTRS'
  397. INFOT = 1
  398. CALL ZTBTRS( '/', 'N', 'N', 0, 0, 0, A, 1, X, 1, INFO )
  399. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  400. INFOT = 2
  401. CALL ZTBTRS( 'U', '/', 'N', 0, 0, 0, A, 1, X, 1, INFO )
  402. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  403. INFOT = 3
  404. CALL ZTBTRS( 'U', 'N', '/', 0, 0, 0, A, 1, X, 1, INFO )
  405. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  406. INFOT = 4
  407. CALL ZTBTRS( 'U', 'N', 'N', -1, 0, 0, A, 1, X, 1, INFO )
  408. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  409. INFOT = 5
  410. CALL ZTBTRS( 'U', 'N', 'N', 0, -1, 0, A, 1, X, 1, INFO )
  411. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  412. INFOT = 6
  413. CALL ZTBTRS( 'U', 'N', 'N', 0, 0, -1, A, 1, X, 1, INFO )
  414. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  415. INFOT = 8
  416. CALL ZTBTRS( 'U', 'N', 'N', 2, 1, 1, A, 1, X, 2, INFO )
  417. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  418. INFOT = 10
  419. CALL ZTBTRS( 'U', 'N', 'N', 2, 0, 1, A, 1, X, 1, INFO )
  420. CALL CHKXER( 'ZTBTRS', INFOT, NOUT, LERR, OK )
  421. *
  422. * ZTBRFS
  423. *
  424. SRNAMT = 'ZTBRFS'
  425. INFOT = 1
  426. CALL ZTBRFS( '/', 'N', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
  427. $ W, RW, INFO )
  428. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  429. INFOT = 2
  430. CALL ZTBRFS( 'U', '/', 'N', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
  431. $ W, RW, INFO )
  432. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  433. INFOT = 3
  434. CALL ZTBRFS( 'U', 'N', '/', 0, 0, 0, A, 1, B, 1, X, 1, R1, R2,
  435. $ W, RW, INFO )
  436. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  437. INFOT = 4
  438. CALL ZTBRFS( 'U', 'N', 'N', -1, 0, 0, A, 1, B, 1, X, 1, R1, R2,
  439. $ W, RW, INFO )
  440. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  441. INFOT = 5
  442. CALL ZTBRFS( 'U', 'N', 'N', 0, -1, 0, A, 1, B, 1, X, 1, R1, R2,
  443. $ W, RW, INFO )
  444. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  445. INFOT = 6
  446. CALL ZTBRFS( 'U', 'N', 'N', 0, 0, -1, A, 1, B, 1, X, 1, R1, R2,
  447. $ W, RW, INFO )
  448. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  449. INFOT = 8
  450. CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 1, B, 2, X, 2, R1, R2,
  451. $ W, RW, INFO )
  452. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  453. INFOT = 10
  454. CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 1, X, 2, R1, R2,
  455. $ W, RW, INFO )
  456. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  457. INFOT = 12
  458. CALL ZTBRFS( 'U', 'N', 'N', 2, 1, 1, A, 2, B, 2, X, 1, R1, R2,
  459. $ W, RW, INFO )
  460. CALL CHKXER( 'ZTBRFS', INFOT, NOUT, LERR, OK )
  461. *
  462. * ZTBCON
  463. *
  464. SRNAMT = 'ZTBCON'
  465. INFOT = 1
  466. CALL ZTBCON( '/', 'U', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
  467. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  468. INFOT = 2
  469. CALL ZTBCON( '1', '/', 'N', 0, 0, A, 1, RCOND, W, RW, INFO )
  470. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  471. INFOT = 3
  472. CALL ZTBCON( '1', 'U', '/', 0, 0, A, 1, RCOND, W, RW, INFO )
  473. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  474. INFOT = 4
  475. CALL ZTBCON( '1', 'U', 'N', -1, 0, A, 1, RCOND, W, RW, INFO )
  476. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  477. INFOT = 5
  478. CALL ZTBCON( '1', 'U', 'N', 0, -1, A, 1, RCOND, W, RW, INFO )
  479. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  480. INFOT = 7
  481. CALL ZTBCON( '1', 'U', 'N', 2, 1, A, 1, RCOND, W, RW, INFO )
  482. CALL CHKXER( 'ZTBCON', INFOT, NOUT, LERR, OK )
  483. *
  484. * ZLATBS
  485. *
  486. SRNAMT = 'ZLATBS'
  487. INFOT = 1
  488. CALL ZLATBS( '/', 'N', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
  489. $ INFO )
  490. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  491. INFOT = 2
  492. CALL ZLATBS( 'U', '/', 'N', 'N', 0, 0, A, 1, X, SCALE, RW,
  493. $ INFO )
  494. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  495. INFOT = 3
  496. CALL ZLATBS( 'U', 'N', '/', 'N', 0, 0, A, 1, X, SCALE, RW,
  497. $ INFO )
  498. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  499. INFOT = 4
  500. CALL ZLATBS( 'U', 'N', 'N', '/', 0, 0, A, 1, X, SCALE, RW,
  501. $ INFO )
  502. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  503. INFOT = 5
  504. CALL ZLATBS( 'U', 'N', 'N', 'N', -1, 0, A, 1, X, SCALE, RW,
  505. $ INFO )
  506. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  507. INFOT = 6
  508. CALL ZLATBS( 'U', 'N', 'N', 'N', 1, -1, A, 1, X, SCALE, RW,
  509. $ INFO )
  510. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  511. INFOT = 8
  512. CALL ZLATBS( 'U', 'N', 'N', 'N', 2, 1, A, 1, X, SCALE, RW,
  513. $ INFO )
  514. CALL CHKXER( 'ZLATBS', INFOT, NOUT, LERR, OK )
  515. END IF
  516. *
  517. * Print a summary line.
  518. *
  519. CALL ALAESM( PATH, OK, NOUT )
  520. *
  521. RETURN
  522. *
  523. * End of ZERRTR
  524. *
  525. END