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.

cerrst.f 31 kB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803
  1. *> \brief \b CERRST
  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 CERRST( 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. *> CERRST tests the error exits for CHETRD, CUNGTR, CUNMTR, CHPTRD,
  25. *> CUNGTR, CUPMTR, CSTEQR, CSTEIN, CPTEQR, CHBTRD,
  26. *> CHEEV, CHEEVX, CHEEVD, CHBEV, CHBEVX, CHBEVD,
  27. *> CHPEV, CHPEVX, CHPEVD, and CSTEDC.
  28. *> \endverbatim
  29. *
  30. * Arguments:
  31. * ==========
  32. *
  33. *> \param[in] PATH
  34. *> \verbatim
  35. *> PATH is CHARACTER*3
  36. *> The LAPACK path name for the routines to be tested.
  37. *> \endverbatim
  38. *>
  39. *> \param[in] NUNIT
  40. *> \verbatim
  41. *> NUNIT is INTEGER
  42. *> The unit number for output.
  43. *> \endverbatim
  44. *
  45. * Authors:
  46. * ========
  47. *
  48. *> \author Univ. of Tennessee
  49. *> \author Univ. of California Berkeley
  50. *> \author Univ. of Colorado Denver
  51. *> \author NAG Ltd.
  52. *
  53. *> \date November 2011
  54. *
  55. *> \ingroup complex_eig
  56. *
  57. * =====================================================================
  58. SUBROUTINE CERRST( PATH, NUNIT )
  59. *
  60. * -- LAPACK test routine (version 3.4.0) --
  61. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  62. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  63. * November 2011
  64. *
  65. * .. Scalar Arguments ..
  66. CHARACTER*3 PATH
  67. INTEGER NUNIT
  68. * ..
  69. *
  70. * =====================================================================
  71. *
  72. * .. Parameters ..
  73. INTEGER NMAX, LIW, LW
  74. PARAMETER ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
  75. * ..
  76. * .. Local Scalars ..
  77. CHARACTER*2 C2
  78. INTEGER I, INFO, J, M, N, NT
  79. * ..
  80. * .. Local Arrays ..
  81. INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
  82. REAL D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
  83. $ X( NMAX )
  84. COMPLEX A( NMAX, NMAX ), C( NMAX, NMAX ),
  85. $ Q( NMAX, NMAX ), TAU( NMAX ), W( LW ),
  86. $ Z( NMAX, NMAX )
  87. * ..
  88. * .. External Functions ..
  89. LOGICAL LSAMEN
  90. EXTERNAL LSAMEN
  91. * ..
  92. * .. External Subroutines ..
  93. EXTERNAL CHBEV, CHBEVD, CHBEVX, CHBTRD, CHEEV, CHEEVD,
  94. $ CHEEVR, CHEEVX, CHETRD, CHKXER, CHPEV, CHPEVD,
  95. $ CHPEVX, CHPTRD, CPTEQR, CSTEDC, CSTEIN, CSTEQR,
  96. $ CUNGTR, CUNMTR, CUPGTR, CUPMTR
  97. * ..
  98. * .. Scalars in Common ..
  99. LOGICAL LERR, OK
  100. CHARACTER*32 SRNAMT
  101. INTEGER INFOT, NOUT
  102. * ..
  103. * .. Common blocks ..
  104. COMMON / INFOC / INFOT, NOUT, OK, LERR
  105. COMMON / SRNAMC / SRNAMT
  106. * ..
  107. * .. Intrinsic Functions ..
  108. INTRINSIC REAL
  109. * ..
  110. * .. Executable Statements ..
  111. *
  112. NOUT = NUNIT
  113. WRITE( NOUT, FMT = * )
  114. C2 = PATH( 2: 3 )
  115. *
  116. * Set the variables to innocuous values.
  117. *
  118. DO 20 J = 1, NMAX
  119. DO 10 I = 1, NMAX
  120. A( I, J ) = 1. / REAL( I+J )
  121. 10 CONTINUE
  122. 20 CONTINUE
  123. DO 30 J = 1, NMAX
  124. D( J ) = REAL( J )
  125. E( J ) = 0.0
  126. I1( J ) = J
  127. I2( J ) = J
  128. TAU( J ) = 1.
  129. 30 CONTINUE
  130. OK = .TRUE.
  131. NT = 0
  132. *
  133. * Test error exits for the ST path.
  134. *
  135. IF( LSAMEN( 2, C2, 'ST' ) ) THEN
  136. *
  137. * CHETRD
  138. *
  139. SRNAMT = 'CHETRD'
  140. INFOT = 1
  141. CALL CHETRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
  142. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  143. INFOT = 2
  144. CALL CHETRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
  145. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  146. INFOT = 4
  147. CALL CHETRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
  148. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  149. INFOT = 9
  150. CALL CHETRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
  151. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  152. NT = NT + 4
  153. *
  154. * CUNGTR
  155. *
  156. SRNAMT = 'CUNGTR'
  157. INFOT = 1
  158. CALL CUNGTR( '/', 0, A, 1, TAU, W, 1, INFO )
  159. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  160. INFOT = 2
  161. CALL CUNGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
  162. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  163. INFOT = 4
  164. CALL CUNGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
  165. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  166. INFOT = 7
  167. CALL CUNGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
  168. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  169. NT = NT + 4
  170. *
  171. * CUNMTR
  172. *
  173. SRNAMT = 'CUNMTR'
  174. INFOT = 1
  175. CALL CUNMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  176. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  177. INFOT = 2
  178. CALL CUNMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  179. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  180. INFOT = 3
  181. CALL CUNMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  182. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  183. INFOT = 4
  184. CALL CUNMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
  185. $ INFO )
  186. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  187. INFOT = 5
  188. CALL CUNMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
  189. $ INFO )
  190. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  191. INFOT = 7
  192. CALL CUNMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  193. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  194. INFOT = 7
  195. CALL CUNMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  196. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  197. INFOT = 10
  198. CALL CUNMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
  199. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  200. INFOT = 12
  201. CALL CUNMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  202. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  203. INFOT = 12
  204. CALL CUNMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  205. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  206. NT = NT + 10
  207. *
  208. * CHPTRD
  209. *
  210. SRNAMT = 'CHPTRD'
  211. INFOT = 1
  212. CALL CHPTRD( '/', 0, A, D, E, TAU, INFO )
  213. CALL CHKXER( 'CHPTRD', INFOT, NOUT, LERR, OK )
  214. INFOT = 2
  215. CALL CHPTRD( 'U', -1, A, D, E, TAU, INFO )
  216. CALL CHKXER( 'CHPTRD', INFOT, NOUT, LERR, OK )
  217. NT = NT + 2
  218. *
  219. * CUPGTR
  220. *
  221. SRNAMT = 'CUPGTR'
  222. INFOT = 1
  223. CALL CUPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
  224. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  225. INFOT = 2
  226. CALL CUPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
  227. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  228. INFOT = 6
  229. CALL CUPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
  230. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  231. NT = NT + 3
  232. *
  233. * CUPMTR
  234. *
  235. SRNAMT = 'CUPMTR'
  236. INFOT = 1
  237. CALL CUPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  238. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  239. INFOT = 2
  240. CALL CUPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  241. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  242. INFOT = 3
  243. CALL CUPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
  244. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  245. INFOT = 4
  246. CALL CUPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
  247. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  248. INFOT = 5
  249. CALL CUPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
  250. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  251. INFOT = 9
  252. CALL CUPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
  253. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  254. NT = NT + 6
  255. *
  256. * CPTEQR
  257. *
  258. SRNAMT = 'CPTEQR'
  259. INFOT = 1
  260. CALL CPTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  261. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  262. INFOT = 2
  263. CALL CPTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  264. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  265. INFOT = 6
  266. CALL CPTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  267. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  268. NT = NT + 3
  269. *
  270. * CSTEIN
  271. *
  272. SRNAMT = 'CSTEIN'
  273. INFOT = 1
  274. CALL CSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  275. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  276. INFOT = 4
  277. CALL CSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  278. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  279. INFOT = 4
  280. CALL CSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  281. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  282. INFOT = 9
  283. CALL CSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  284. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  285. NT = NT + 4
  286. *
  287. * CSTEQR
  288. *
  289. SRNAMT = 'CSTEQR'
  290. INFOT = 1
  291. CALL CSTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  292. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  293. INFOT = 2
  294. CALL CSTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  295. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  296. INFOT = 6
  297. CALL CSTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  298. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  299. NT = NT + 3
  300. *
  301. * CSTEDC
  302. *
  303. SRNAMT = 'CSTEDC'
  304. INFOT = 1
  305. CALL CSTEDC( '/', 0, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  306. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  307. INFOT = 2
  308. CALL CSTEDC( 'N', -1, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  309. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  310. INFOT = 6
  311. CALL CSTEDC( 'V', 2, D, E, Z, 1, W, 4, RW, 23, IW, 28, INFO )
  312. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  313. INFOT = 8
  314. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 0, RW, 1, IW, 1, INFO )
  315. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  316. INFOT = 8
  317. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 0, RW, 23, IW, 28, INFO )
  318. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  319. INFOT = 10
  320. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 0, IW, 1, INFO )
  321. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  322. INFOT = 10
  323. CALL CSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 1, IW, 12, INFO )
  324. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  325. INFOT = 10
  326. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 1, IW, 28, INFO )
  327. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  328. INFOT = 12
  329. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 1, IW, 0, INFO )
  330. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  331. INFOT = 12
  332. CALL CSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 23, IW, 0, INFO )
  333. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  334. INFOT = 12
  335. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 23, IW, 0, INFO )
  336. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  337. NT = NT + 11
  338. *
  339. * CHEEVD
  340. *
  341. SRNAMT = 'CHEEVD'
  342. INFOT = 1
  343. CALL CHEEVD( '/', 'U', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  344. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  345. INFOT = 2
  346. CALL CHEEVD( 'N', '/', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  347. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  348. INFOT = 3
  349. CALL CHEEVD( 'N', 'U', -1, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  350. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  351. INFOT = 5
  352. CALL CHEEVD( 'N', 'U', 2, A, 1, X, W, 3, RW, 2, IW, 1, INFO )
  353. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  354. INFOT = 8
  355. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 0, RW, 1, IW, 1, INFO )
  356. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  357. INFOT = 8
  358. CALL CHEEVD( 'N', 'U', 2, A, 2, X, W, 2, RW, 2, IW, 1, INFO )
  359. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  360. INFOT = 8
  361. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 3, RW, 25, IW, 12, INFO )
  362. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  363. INFOT = 10
  364. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 0, IW, 1, INFO )
  365. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  366. INFOT = 10
  367. CALL CHEEVD( 'N', 'U', 2, A, 2, X, W, 3, RW, 1, IW, 1, INFO )
  368. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  369. INFOT = 10
  370. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 18, IW, 12, INFO )
  371. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  372. INFOT = 12
  373. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 1, IW, 0, INFO )
  374. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  375. INFOT = 12
  376. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 25, IW, 11, INFO )
  377. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  378. NT = NT + 12
  379. *
  380. * CHEEV
  381. *
  382. SRNAMT = 'CHEEV '
  383. INFOT = 1
  384. CALL CHEEV( '/', 'U', 0, A, 1, X, W, 1, RW, INFO )
  385. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  386. INFOT = 2
  387. CALL CHEEV( 'N', '/', 0, A, 1, X, W, 1, RW, INFO )
  388. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  389. INFOT = 3
  390. CALL CHEEV( 'N', 'U', -1, A, 1, X, W, 1, RW, INFO )
  391. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  392. INFOT = 5
  393. CALL CHEEV( 'N', 'U', 2, A, 1, X, W, 3, RW, INFO )
  394. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  395. INFOT = 8
  396. CALL CHEEV( 'N', 'U', 2, A, 2, X, W, 2, RW, INFO )
  397. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  398. NT = NT + 5
  399. *
  400. * CHEEVX
  401. *
  402. SRNAMT = 'CHEEVX'
  403. INFOT = 1
  404. CALL CHEEVX( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  405. $ Z, 1, W, 1, RW, IW, I3, INFO )
  406. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  407. INFOT = 2
  408. CALL CHEEVX( 'V', '/', 'U', 0, A, 1, 0.0, 1.0, 1, 0, 0.0, M, X,
  409. $ Z, 1, W, 1, RW, IW, I3, INFO )
  410. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  411. INFOT = 3
  412. CALL CHEEVX( 'V', 'A', '/', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  413. $ Z, 1, W, 1, RW, IW, I3, INFO )
  414. INFOT = 4
  415. CALL CHEEVX( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 0, 0, 0.0, M,
  416. $ X, Z, 1, W, 1, RW, IW, I3, INFO )
  417. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  418. INFOT = 6
  419. CALL CHEEVX( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  420. $ Z, 2, W, 3, RW, IW, I3, INFO )
  421. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  422. INFOT = 8
  423. CALL CHEEVX( 'V', 'V', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  424. $ Z, 1, W, 1, RW, IW, I3, INFO )
  425. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  426. INFOT = 9
  427. CALL CHEEVX( 'V', 'I', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  428. $ Z, 1, W, 1, RW, IW, I3, INFO )
  429. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  430. INFOT = 10
  431. CALL CHEEVX( 'V', 'I', 'U', 2, A, 2, 0.0, 0.0, 2, 1, 0.0, M, X,
  432. $ Z, 2, W, 3, RW, IW, I3, INFO )
  433. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  434. INFOT = 15
  435. CALL CHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
  436. $ Z, 1, W, 3, RW, IW, I3, INFO )
  437. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  438. INFOT = 17
  439. CALL CHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
  440. $ Z, 2, W, 2, RW, IW, I1, INFO )
  441. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  442. NT = NT + 10
  443. *
  444. * CHEEVR
  445. *
  446. SRNAMT = 'CHEEVR'
  447. N = 1
  448. INFOT = 1
  449. CALL CHEEVR( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  450. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  451. $ INFO )
  452. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  453. INFOT = 2
  454. CALL CHEEVR( 'V', '/', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  455. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  456. $ INFO )
  457. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  458. INFOT = 3
  459. CALL CHEEVR( 'V', 'A', '/', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
  460. $ R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  461. $ INFO )
  462. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  463. INFOT = 4
  464. CALL CHEEVR( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
  465. $ R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  466. $ INFO )
  467. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  468. INFOT = 6
  469. CALL CHEEVR( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  470. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  471. $ INFO )
  472. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  473. INFOT = 8
  474. CALL CHEEVR( 'V', 'V', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  475. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  476. $ 10*N, INFO )
  477. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  478. INFOT = 9
  479. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 0, 1, 0.0,
  480. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  481. $ 10*N, INFO )
  482. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  483. INFOT = 10
  484. *
  485. CALL CHEEVR( 'V', 'I', 'U', 2, A, 2, 0.0E0, 0.0E0, 2, 1, 0.0,
  486. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  487. $ 10*N, INFO )
  488. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  489. INFOT = 15
  490. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  491. $ M, R, Z, 0, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  492. $ 10*N, INFO )
  493. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  494. INFOT = 18
  495. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  496. $ M, R, Z, 1, IW, Q, 2*N-1, RW, 24*N, IW( 2*N+1 ),
  497. $ 10*N, INFO )
  498. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  499. INFOT = 20
  500. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  501. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N-1, IW( 2*N-1 ),
  502. $ 10*N, INFO )
  503. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  504. INFOT = 22
  505. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  506. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW, 10*N-1,
  507. $ INFO )
  508. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  509. NT = NT + 12
  510. *
  511. * CHPEVD
  512. *
  513. SRNAMT = 'CHPEVD'
  514. INFOT = 1
  515. CALL CHPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  516. $ INFO )
  517. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  518. INFOT = 2
  519. CALL CHPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  520. $ INFO )
  521. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  522. INFOT = 3
  523. CALL CHPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  524. $ INFO )
  525. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  526. INFOT = 7
  527. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 1, W, 4, RW, 25, IW, 12,
  528. $ INFO )
  529. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  530. INFOT = 9
  531. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, RW, 1, IW, 1,
  532. $ INFO )
  533. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  534. INFOT = 9
  535. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 1, RW, 2, IW, 1,
  536. $ INFO )
  537. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  538. INFOT = 9
  539. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 2, RW, 25, IW, 12,
  540. $ INFO )
  541. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  542. INFOT = 11
  543. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 0, IW, 1,
  544. $ INFO )
  545. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  546. INFOT = 11
  547. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 1, IW, 1,
  548. $ INFO )
  549. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  550. INFOT = 11
  551. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 18, IW, 12,
  552. $ INFO )
  553. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  554. INFOT = 13
  555. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 1, IW, 0,
  556. $ INFO )
  557. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  558. INFOT = 13
  559. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 2, IW, 0,
  560. $ INFO )
  561. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  562. INFOT = 13
  563. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 25, IW, 2,
  564. $ INFO )
  565. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  566. NT = NT + 13
  567. *
  568. * CHPEV
  569. *
  570. SRNAMT = 'CHPEV '
  571. INFOT = 1
  572. CALL CHPEV( '/', 'U', 0, A, X, Z, 1, W, RW, INFO )
  573. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  574. INFOT = 2
  575. CALL CHPEV( 'N', '/', 0, A, X, Z, 1, W, RW, INFO )
  576. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  577. INFOT = 3
  578. CALL CHPEV( 'N', 'U', -1, A, X, Z, 1, W, RW, INFO )
  579. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  580. INFOT = 7
  581. CALL CHPEV( 'V', 'U', 2, A, X, Z, 1, W, RW, INFO )
  582. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  583. NT = NT + 4
  584. *
  585. * CHPEVX
  586. *
  587. SRNAMT = 'CHPEVX'
  588. INFOT = 1
  589. CALL CHPEVX( '/', 'A', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  590. $ 1, W, RW, IW, I3, INFO )
  591. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  592. INFOT = 2
  593. CALL CHPEVX( 'V', '/', 'U', 0, A, 0.0, 1.0, 1, 0, 0.0, M, X, Z,
  594. $ 1, W, RW, IW, I3, INFO )
  595. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  596. INFOT = 3
  597. CALL CHPEVX( 'V', 'A', '/', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  598. $ 1, W, RW, IW, I3, INFO )
  599. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  600. INFOT = 4
  601. CALL CHPEVX( 'V', 'A', 'U', -1, A, 0.0, 0.0, 0, 0, 0.0, M, X,
  602. $ Z, 1, W, RW, IW, I3, INFO )
  603. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  604. INFOT = 7
  605. CALL CHPEVX( 'V', 'V', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  606. $ 1, W, RW, IW, I3, INFO )
  607. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  608. INFOT = 8
  609. CALL CHPEVX( 'V', 'I', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  610. $ 1, W, RW, IW, I3, INFO )
  611. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  612. INFOT = 9
  613. CALL CHPEVX( 'V', 'I', 'U', 2, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
  614. $ 2, W, RW, IW, I3, INFO )
  615. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  616. INFOT = 14
  617. CALL CHPEVX( 'V', 'A', 'U', 2, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  618. $ 1, W, RW, IW, I3, INFO )
  619. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  620. NT = NT + 8
  621. *
  622. * Test error exits for the HB path.
  623. *
  624. ELSE IF( LSAMEN( 2, C2, 'HB' ) ) THEN
  625. *
  626. * CHBTRD
  627. *
  628. SRNAMT = 'CHBTRD'
  629. INFOT = 1
  630. CALL CHBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  631. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  632. INFOT = 2
  633. CALL CHBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  634. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  635. INFOT = 3
  636. CALL CHBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
  637. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  638. INFOT = 4
  639. CALL CHBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
  640. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  641. INFOT = 6
  642. CALL CHBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
  643. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  644. INFOT = 10
  645. CALL CHBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
  646. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  647. NT = NT + 6
  648. *
  649. * CHBEVD
  650. *
  651. SRNAMT = 'CHBEVD'
  652. INFOT = 1
  653. CALL CHBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  654. $ INFO )
  655. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  656. INFOT = 2
  657. CALL CHBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  658. $ INFO )
  659. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  660. INFOT = 3
  661. CALL CHBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  662. $ 1, INFO )
  663. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  664. INFOT = 4
  665. CALL CHBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  666. $ 1, INFO )
  667. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  668. INFOT = 6
  669. CALL CHBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 2, RW, 2, IW, 1,
  670. $ INFO )
  671. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  672. INFOT = 9
  673. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 8, RW, 25, IW,
  674. $ 12, INFO )
  675. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  676. INFOT = 11
  677. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, RW, 1, IW, 1,
  678. $ INFO )
  679. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  680. INFOT = 11
  681. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 1, RW, 2, IW, 1,
  682. $ INFO )
  683. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  684. INFOT = 11
  685. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 25, IW,
  686. $ 12, INFO )
  687. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  688. INFOT = 13
  689. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 0, IW, 1,
  690. $ INFO )
  691. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  692. INFOT = 13
  693. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 1, IW, 1,
  694. $ INFO )
  695. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  696. INFOT = 13
  697. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 2, IW,
  698. $ 12, INFO )
  699. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  700. INFOT = 15
  701. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 0,
  702. $ INFO )
  703. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  704. INFOT = 15
  705. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 2, IW, 0,
  706. $ INFO )
  707. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  708. INFOT = 15
  709. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 25, IW,
  710. $ 2, INFO )
  711. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  712. NT = NT + 15
  713. *
  714. * CHBEV
  715. *
  716. SRNAMT = 'CHBEV '
  717. INFOT = 1
  718. CALL CHBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  719. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  720. INFOT = 2
  721. CALL CHBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  722. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  723. INFOT = 3
  724. CALL CHBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, RW, INFO )
  725. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  726. INFOT = 4
  727. CALL CHBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, RW, INFO )
  728. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  729. INFOT = 6
  730. CALL CHBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, RW, INFO )
  731. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  732. INFOT = 9
  733. CALL CHBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, RW, INFO )
  734. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  735. NT = NT + 6
  736. *
  737. * CHBEVX
  738. *
  739. SRNAMT = 'CHBEVX'
  740. INFOT = 1
  741. CALL CHBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  742. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  743. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  744. INFOT = 2
  745. CALL CHBEVX( 'V', '/', 'U', 0, 0, A, 1, Q, 1, 0.0, 1.0, 1, 0,
  746. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  747. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  748. INFOT = 3
  749. CALL CHBEVX( 'V', 'A', '/', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  750. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  751. INFOT = 4
  752. CALL CHBEVX( 'V', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  753. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  754. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  755. INFOT = 5
  756. CALL CHBEVX( 'V', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  757. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  758. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  759. INFOT = 7
  760. CALL CHBEVX( 'V', 'A', 'U', 2, 1, A, 1, Q, 2, 0.0, 0.0, 0, 0,
  761. $ 0.0, M, X, Z, 2, W, RW, IW, I3, INFO )
  762. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  763. INFOT = 9
  764. CALL CHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  765. $ 0.0, M, X, Z, 2, W, RW, IW, I3, INFO )
  766. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  767. INFOT = 11
  768. CALL CHBEVX( 'V', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  769. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  770. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  771. INFOT = 12
  772. CALL CHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  773. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  774. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  775. INFOT = 13
  776. CALL CHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 1, 2,
  777. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  778. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  779. INFOT = 18
  780. CALL CHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0, 0.0, 0, 0,
  781. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  782. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  783. NT = NT + 11
  784. END IF
  785. *
  786. * Print a summary line.
  787. *
  788. IF( OK ) THEN
  789. WRITE( NOUT, FMT = 9999 )PATH, NT
  790. ELSE
  791. WRITE( NOUT, FMT = 9998 )PATH
  792. END IF
  793. *
  794. 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
  795. $ ' (', I3, ' tests done)' )
  796. 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
  797. $ 'exits ***' )
  798. *
  799. RETURN
  800. *
  801. * End of CERRST
  802. *
  803. END