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 56 kB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357
  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, CHETD2, CUNGTR, CUNMTR, CHPTRD,
  25. *> CUNGTR, CUPMTR, CSTEQR, CSTEIN, CPTEQR, CHBTRD,
  26. *> CHEEV, CHEEVX, CHEEVD, CHBEV, CHBEVX, CHBEVD,
  27. *> CHPEV, CHPEVX, CHPEVD, and CSTEDC.
  28. *> CHEEVD_2STAGE, CHEEVR_2STAGE, CHEEVX_2STAGE,
  29. *> CHEEV_2STAGE, CHBEV_2STAGE, CHBEVD_2STAGE,
  30. *> CHBEVX_2STAGE, CHETRD_2STAGE, CHETRD_HE2HB,
  31. *> CHETRD_HB2ST
  32. *> \endverbatim
  33. *
  34. * Arguments:
  35. * ==========
  36. *
  37. *> \param[in] PATH
  38. *> \verbatim
  39. *> PATH is CHARACTER*3
  40. *> The LAPACK path name for the routines to be tested.
  41. *> \endverbatim
  42. *>
  43. *> \param[in] NUNIT
  44. *> \verbatim
  45. *> NUNIT is INTEGER
  46. *> The unit number for output.
  47. *> \endverbatim
  48. *
  49. * Authors:
  50. * ========
  51. *
  52. *> \author Univ. of Tennessee
  53. *> \author Univ. of California Berkeley
  54. *> \author Univ. of Colorado Denver
  55. *> \author NAG Ltd.
  56. *
  57. *> \ingroup complex_eig
  58. *
  59. * =====================================================================
  60. SUBROUTINE CERRST( PATH, NUNIT )
  61. *
  62. * -- LAPACK test routine --
  63. * -- LAPACK is a software package provided by Univ. of Tennessee, --
  64. * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
  65. *
  66. * .. Scalar Arguments ..
  67. CHARACTER*3 PATH
  68. INTEGER NUNIT
  69. * ..
  70. *
  71. * =====================================================================
  72. *
  73. * .. Parameters ..
  74. INTEGER NMAX, LIW, LW
  75. PARAMETER ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
  76. * ..
  77. * .. Local Scalars ..
  78. CHARACTER*2 C2
  79. INTEGER I, INFO, J, M, N, NT
  80. * ..
  81. * .. Local Arrays ..
  82. INTEGER I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
  83. REAL D( NMAX ), E( NMAX ), R( LW ), RW( LW ),
  84. $ X( NMAX )
  85. COMPLEX A( NMAX, NMAX ), C( NMAX, NMAX ),
  86. $ Q( NMAX, NMAX ), TAU( NMAX ), W( LW ),
  87. $ Z( NMAX, NMAX )
  88. * ..
  89. * .. External Functions ..
  90. LOGICAL LSAMEN
  91. EXTERNAL LSAMEN
  92. * ..
  93. * .. External Subroutines ..
  94. EXTERNAL CHBEV, CHBEVD, CHBEVX, CHBTRD, CHEEV, CHEEVD,
  95. $ CHEEVR, CHEEVX, CHETRD, CHKXER, CHPEV, CHPEVD,
  96. $ CHPEVX, CHPTRD, CPTEQR, CSTEDC, CSTEIN, CSTEQR,
  97. $ CUNGTR, CUNMTR, CUPGTR, CUPMTR, CHETD2,
  98. $ CHEEVD_2STAGE, CHEEVR_2STAGE, CHEEVX_2STAGE,
  99. $ CHEEV_2STAGE, CHBEV_2STAGE, CHBEVD_2STAGE,
  100. $ CHBEVX_2STAGE, CHETRD_2STAGE, CHETRD_HE2HB,
  101. $ CHETRD_HB2ST
  102. * ..
  103. * .. Scalars in Common ..
  104. LOGICAL LERR, OK
  105. CHARACTER*32 SRNAMT
  106. INTEGER INFOT, NOUT
  107. * ..
  108. * .. Common blocks ..
  109. COMMON / INFOC / INFOT, NOUT, OK, LERR
  110. COMMON / SRNAMC / SRNAMT
  111. * ..
  112. * .. Intrinsic Functions ..
  113. INTRINSIC REAL
  114. * ..
  115. * .. Executable Statements ..
  116. *
  117. NOUT = NUNIT
  118. WRITE( NOUT, FMT = * )
  119. C2 = PATH( 2: 3 )
  120. *
  121. * Set the variables to innocuous values.
  122. *
  123. DO 20 J = 1, NMAX
  124. DO 10 I = 1, NMAX
  125. A( I, J ) = 1. / REAL( I+J )
  126. 10 CONTINUE
  127. 20 CONTINUE
  128. DO 30 J = 1, NMAX
  129. D( J ) = REAL( J )
  130. E( J ) = 0.0
  131. I1( J ) = J
  132. I2( J ) = J
  133. TAU( J ) = 1.
  134. 30 CONTINUE
  135. OK = .TRUE.
  136. NT = 0
  137. *
  138. * Test error exits for the ST path.
  139. *
  140. IF( LSAMEN( 2, C2, 'ST' ) ) THEN
  141. *
  142. * CHETRD
  143. *
  144. SRNAMT = 'CHETRD'
  145. INFOT = 1
  146. CALL CHETRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
  147. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  148. INFOT = 2
  149. CALL CHETRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
  150. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  151. INFOT = 4
  152. CALL CHETRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
  153. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  154. INFOT = 9
  155. CALL CHETRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
  156. CALL CHKXER( 'CHETRD', INFOT, NOUT, LERR, OK )
  157. NT = NT + 4
  158. *
  159. * CHETD2
  160. *
  161. SRNAMT = 'CHETD2'
  162. INFOT = 1
  163. CALL CHETD2( '/', 0, A, 1, D, E, TAU, INFO )
  164. CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
  165. INFOT = 2
  166. CALL CHETD2( 'U', -1, A, 1, D, E, TAU, INFO )
  167. CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
  168. INFOT = 4
  169. CALL CHETD2( 'U', 2, A, 1, D, E, TAU, INFO )
  170. CALL CHKXER( 'CHETD2', INFOT, NOUT, LERR, OK )
  171. NT = NT + 3
  172. *
  173. * CHETRD_2STAGE
  174. *
  175. SRNAMT = 'CHETRD_2STAGE'
  176. INFOT = 1
  177. CALL CHETRD_2STAGE( '/', 'U', 0, A, 1, D, E, TAU,
  178. $ C, 1, W, 1, INFO )
  179. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  180. INFOT = 1
  181. CALL CHETRD_2STAGE( 'H', 'U', 0, A, 1, D, E, TAU,
  182. $ C, 1, W, 1, INFO )
  183. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  184. INFOT = 2
  185. CALL CHETRD_2STAGE( 'N', '/', 0, A, 1, D, E, TAU,
  186. $ C, 1, W, 1, INFO )
  187. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  188. INFOT = 3
  189. CALL CHETRD_2STAGE( 'N', 'U', -1, A, 1, D, E, TAU,
  190. $ C, 1, W, 1, INFO )
  191. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  192. INFOT = 5
  193. CALL CHETRD_2STAGE( 'N', 'U', 2, A, 1, D, E, TAU,
  194. $ C, 1, W, 1, INFO )
  195. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  196. INFOT = 10
  197. CALL CHETRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
  198. $ C, 0, W, 1, INFO )
  199. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  200. INFOT = 12
  201. CALL CHETRD_2STAGE( 'N', 'U', 0, A, 1, D, E, TAU,
  202. $ C, 1, W, 0, INFO )
  203. CALL CHKXER( 'CHETRD_2STAGE', INFOT, NOUT, LERR, OK )
  204. NT = NT + 7
  205. *
  206. * CHETRD_HE2HB
  207. *
  208. SRNAMT = 'CHETRD_HE2HB'
  209. INFOT = 1
  210. CALL CHETRD_HE2HB( '/', 0, 0, A, 1, C, 1, TAU, W, 1, INFO )
  211. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  212. INFOT = 2
  213. CALL CHETRD_HE2HB( 'U', -1, 0, A, 1, C, 1, TAU, W, 1, INFO )
  214. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  215. INFOT = 3
  216. CALL CHETRD_HE2HB( 'U', 0, -1, A, 1, C, 1, TAU, W, 1, INFO )
  217. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  218. INFOT = 5
  219. CALL CHETRD_HE2HB( 'U', 2, 0, A, 1, C, 1, TAU, W, 1, INFO )
  220. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  221. INFOT = 7
  222. CALL CHETRD_HE2HB( 'U', 0, 2, A, 1, C, 1, TAU, W, 1, INFO )
  223. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  224. INFOT = 10
  225. CALL CHETRD_HE2HB( 'U', 0, 0, A, 1, C, 1, TAU, W, 0, INFO )
  226. CALL CHKXER( 'CHETRD_HE2HB', INFOT, NOUT, LERR, OK )
  227. NT = NT + 6
  228. *
  229. * CHETRD_HB2ST
  230. *
  231. SRNAMT = 'CHETRD_HB2ST'
  232. INFOT = 1
  233. CALL CHETRD_HB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
  234. $ C, 1, W, 1, INFO )
  235. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  236. INFOT = 2
  237. CALL CHETRD_HB2ST( 'Y', '/', 'U', 0, 0, A, 1, D, E,
  238. $ C, 1, W, 1, INFO )
  239. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  240. INFOT = 2
  241. CALL CHETRD_HB2ST( 'Y', 'H', 'U', 0, 0, A, 1, D, E,
  242. $ C, 1, W, 1, INFO )
  243. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  244. INFOT = 3
  245. CALL CHETRD_HB2ST( 'Y', 'N', '/', 0, 0, A, 1, D, E,
  246. $ C, 1, W, 1, INFO )
  247. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  248. INFOT = 4
  249. CALL CHETRD_HB2ST( 'Y', 'N', 'U', -1, 0, A, 1, D, E,
  250. $ C, 1, W, 1, INFO )
  251. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  252. INFOT = 5
  253. CALL CHETRD_HB2ST( 'Y', 'N', 'U', 0, -1, A, 1, D, E,
  254. $ C, 1, W, 1, INFO )
  255. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  256. INFOT = 7
  257. CALL CHETRD_HB2ST( 'Y', 'N', 'U', 0, 1, A, 1, D, E,
  258. $ C, 1, W, 1, INFO )
  259. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  260. INFOT = 11
  261. CALL CHETRD_HB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
  262. $ C, 0, W, 1, INFO )
  263. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  264. INFOT = 13
  265. CALL CHETRD_HB2ST( 'Y', 'N', 'U', 0, 0, A, 1, D, E,
  266. $ C, 1, W, 0, INFO )
  267. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  268. NT = NT + 9
  269. *
  270. * CUNGTR
  271. *
  272. SRNAMT = 'CUNGTR'
  273. INFOT = 1
  274. CALL CUNGTR( '/', 0, A, 1, TAU, W, 1, INFO )
  275. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  276. INFOT = 2
  277. CALL CUNGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
  278. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  279. INFOT = 4
  280. CALL CUNGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
  281. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  282. INFOT = 7
  283. CALL CUNGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
  284. CALL CHKXER( 'CUNGTR', INFOT, NOUT, LERR, OK )
  285. NT = NT + 4
  286. *
  287. * CUNMTR
  288. *
  289. SRNAMT = 'CUNMTR'
  290. INFOT = 1
  291. CALL CUNMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  292. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  293. INFOT = 2
  294. CALL CUNMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  295. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  296. INFOT = 3
  297. CALL CUNMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
  298. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  299. INFOT = 4
  300. CALL CUNMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
  301. $ INFO )
  302. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  303. INFOT = 5
  304. CALL CUNMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
  305. $ INFO )
  306. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  307. INFOT = 7
  308. CALL CUNMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  309. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  310. INFOT = 7
  311. CALL CUNMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  312. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  313. INFOT = 10
  314. CALL CUNMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
  315. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  316. INFOT = 12
  317. CALL CUNMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
  318. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  319. INFOT = 12
  320. CALL CUNMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
  321. CALL CHKXER( 'CUNMTR', INFOT, NOUT, LERR, OK )
  322. NT = NT + 10
  323. *
  324. * CHPTRD
  325. *
  326. SRNAMT = 'CHPTRD'
  327. INFOT = 1
  328. CALL CHPTRD( '/', 0, A, D, E, TAU, INFO )
  329. CALL CHKXER( 'CHPTRD', INFOT, NOUT, LERR, OK )
  330. INFOT = 2
  331. CALL CHPTRD( 'U', -1, A, D, E, TAU, INFO )
  332. CALL CHKXER( 'CHPTRD', INFOT, NOUT, LERR, OK )
  333. NT = NT + 2
  334. *
  335. * CUPGTR
  336. *
  337. SRNAMT = 'CUPGTR'
  338. INFOT = 1
  339. CALL CUPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
  340. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  341. INFOT = 2
  342. CALL CUPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
  343. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  344. INFOT = 6
  345. CALL CUPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
  346. CALL CHKXER( 'CUPGTR', INFOT, NOUT, LERR, OK )
  347. NT = NT + 3
  348. *
  349. * CUPMTR
  350. *
  351. SRNAMT = 'CUPMTR'
  352. INFOT = 1
  353. CALL CUPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  354. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  355. INFOT = 2
  356. CALL CUPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
  357. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  358. INFOT = 3
  359. CALL CUPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
  360. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  361. INFOT = 4
  362. CALL CUPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
  363. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  364. INFOT = 5
  365. CALL CUPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
  366. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  367. INFOT = 9
  368. CALL CUPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
  369. CALL CHKXER( 'CUPMTR', INFOT, NOUT, LERR, OK )
  370. NT = NT + 6
  371. *
  372. * CPTEQR
  373. *
  374. SRNAMT = 'CPTEQR'
  375. INFOT = 1
  376. CALL CPTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  377. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  378. INFOT = 2
  379. CALL CPTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  380. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  381. INFOT = 6
  382. CALL CPTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  383. CALL CHKXER( 'CPTEQR', INFOT, NOUT, LERR, OK )
  384. NT = NT + 3
  385. *
  386. * CSTEIN
  387. *
  388. SRNAMT = 'CSTEIN'
  389. INFOT = 1
  390. CALL CSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  391. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  392. INFOT = 4
  393. CALL CSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  394. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  395. INFOT = 4
  396. CALL CSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  397. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  398. INFOT = 9
  399. CALL CSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, RW, IW, I3, INFO )
  400. CALL CHKXER( 'CSTEIN', INFOT, NOUT, LERR, OK )
  401. NT = NT + 4
  402. *
  403. * CSTEQR
  404. *
  405. SRNAMT = 'CSTEQR'
  406. INFOT = 1
  407. CALL CSTEQR( '/', 0, D, E, Z, 1, RW, INFO )
  408. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  409. INFOT = 2
  410. CALL CSTEQR( 'N', -1, D, E, Z, 1, RW, INFO )
  411. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  412. INFOT = 6
  413. CALL CSTEQR( 'V', 2, D, E, Z, 1, RW, INFO )
  414. CALL CHKXER( 'CSTEQR', INFOT, NOUT, LERR, OK )
  415. NT = NT + 3
  416. *
  417. * CSTEDC
  418. *
  419. SRNAMT = 'CSTEDC'
  420. INFOT = 1
  421. CALL CSTEDC( '/', 0, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  422. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  423. INFOT = 2
  424. CALL CSTEDC( 'N', -1, D, E, Z, 1, W, 1, RW, 1, IW, 1, INFO )
  425. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  426. INFOT = 6
  427. CALL CSTEDC( 'V', 2, D, E, Z, 1, W, 4, RW, 23, IW, 28, INFO )
  428. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  429. INFOT = 8
  430. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 0, RW, 1, IW, 1, INFO )
  431. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  432. INFOT = 8
  433. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 0, RW, 23, IW, 28, INFO )
  434. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  435. INFOT = 10
  436. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 0, IW, 1, INFO )
  437. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  438. INFOT = 10
  439. CALL CSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 1, IW, 12, INFO )
  440. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  441. INFOT = 10
  442. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 1, IW, 28, INFO )
  443. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  444. INFOT = 12
  445. CALL CSTEDC( 'N', 2, D, E, Z, 1, W, 1, RW, 1, IW, 0, INFO )
  446. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  447. INFOT = 12
  448. CALL CSTEDC( 'I', 2, D, E, Z, 2, W, 1, RW, 23, IW, 0, INFO )
  449. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  450. INFOT = 12
  451. CALL CSTEDC( 'V', 2, D, E, Z, 2, W, 4, RW, 23, IW, 0, INFO )
  452. CALL CHKXER( 'CSTEDC', INFOT, NOUT, LERR, OK )
  453. NT = NT + 11
  454. *
  455. * CHEEVD
  456. *
  457. SRNAMT = 'CHEEVD'
  458. INFOT = 1
  459. CALL CHEEVD( '/', 'U', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  460. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  461. INFOT = 2
  462. CALL CHEEVD( 'N', '/', 0, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  463. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  464. INFOT = 3
  465. CALL CHEEVD( 'N', 'U', -1, A, 1, X, W, 1, RW, 1, IW, 1, INFO )
  466. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  467. INFOT = 5
  468. CALL CHEEVD( 'N', 'U', 2, A, 1, X, W, 3, RW, 2, IW, 1, INFO )
  469. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  470. INFOT = 8
  471. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 0, RW, 1, IW, 1, INFO )
  472. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  473. INFOT = 8
  474. CALL CHEEVD( 'N', 'U', 2, A, 2, X, W, 2, RW, 2, IW, 1, INFO )
  475. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  476. INFOT = 8
  477. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 3, RW, 25, IW, 12, INFO )
  478. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  479. INFOT = 10
  480. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 0, IW, 1, INFO )
  481. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  482. INFOT = 10
  483. CALL CHEEVD( 'N', 'U', 2, A, 2, X, W, 3, RW, 1, IW, 1, INFO )
  484. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  485. INFOT = 10
  486. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 18, IW, 12, INFO )
  487. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  488. INFOT = 12
  489. CALL CHEEVD( 'N', 'U', 1, A, 1, X, W, 1, RW, 1, IW, 0, INFO )
  490. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  491. INFOT = 12
  492. CALL CHEEVD( 'V', 'U', 2, A, 2, X, W, 8, RW, 25, IW, 11, INFO )
  493. CALL CHKXER( 'CHEEVD', INFOT, NOUT, LERR, OK )
  494. NT = NT + 12
  495. *
  496. * CHEEVD_2STAGE
  497. *
  498. SRNAMT = 'CHEEVD_2STAGE'
  499. INFOT = 1
  500. CALL CHEEVD_2STAGE( '/', 'U', 0, A, 1, X, W, 1,
  501. $ RW, 1, IW, 1, INFO )
  502. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  503. INFOT = 1
  504. CALL CHEEVD_2STAGE( 'V', 'U', 0, A, 1, X, W, 1,
  505. $ RW, 1, IW, 1, INFO )
  506. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  507. INFOT = 2
  508. CALL CHEEVD_2STAGE( 'N', '/', 0, A, 1, X, W, 1,
  509. $ RW, 1, IW, 1, INFO )
  510. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  511. INFOT = 3
  512. CALL CHEEVD_2STAGE( 'N', 'U', -1, A, 1, X, W, 1,
  513. $ RW, 1, IW, 1, INFO )
  514. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  515. INFOT = 5
  516. CALL CHEEVD_2STAGE( 'N', 'U', 2, A, 1, X, W, 3,
  517. $ RW, 2, IW, 1, INFO )
  518. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  519. INFOT = 8
  520. CALL CHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 0,
  521. $ RW, 1, IW, 1, INFO )
  522. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  523. INFOT = 8
  524. CALL CHEEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 2,
  525. $ RW, 2, IW, 1, INFO )
  526. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  527. * INFOT = 8
  528. * CALL CHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 3,
  529. * $ RW, 25, IW, 12, INFO )
  530. * CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  531. INFOT = 10
  532. CALL CHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 1,
  533. $ RW, 0, IW, 1, INFO )
  534. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  535. INFOT = 10
  536. CALL CHEEVD_2STAGE( 'N', 'U', 2, A, 2, X, W, 25,
  537. $ RW, 1, IW, 1, INFO )
  538. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  539. * INFOT = 10
  540. * CALL CHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
  541. * $ RW, 18, IW, 12, INFO )
  542. * CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  543. INFOT = 12
  544. CALL CHEEVD_2STAGE( 'N', 'U', 1, A, 1, X, W, 1,
  545. $ RW, 1, IW, 0, INFO )
  546. CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  547. INFOT = 12
  548. * CALL CHEEVD_2STAGE( 'V', 'U', 2, A, 2, X, W, 8,
  549. * $ RW, 25, IW, 11, INFO )
  550. * CALL CHKXER( 'CHEEVD_2STAGE', INFOT, NOUT, LERR, OK )
  551. NT = NT + 10
  552. *
  553. * CHEEV
  554. *
  555. SRNAMT = 'CHEEV '
  556. INFOT = 1
  557. CALL CHEEV( '/', 'U', 0, A, 1, X, W, 1, RW, INFO )
  558. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  559. INFOT = 2
  560. CALL CHEEV( 'N', '/', 0, A, 1, X, W, 1, RW, INFO )
  561. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  562. INFOT = 3
  563. CALL CHEEV( 'N', 'U', -1, A, 1, X, W, 1, RW, INFO )
  564. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  565. INFOT = 5
  566. CALL CHEEV( 'N', 'U', 2, A, 1, X, W, 3, RW, INFO )
  567. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  568. INFOT = 8
  569. CALL CHEEV( 'N', 'U', 2, A, 2, X, W, 2, RW, INFO )
  570. CALL CHKXER( 'CHEEV ', INFOT, NOUT, LERR, OK )
  571. NT = NT + 5
  572. *
  573. * CHEEV_2STAGE
  574. *
  575. SRNAMT = 'CHEEV_2STAGE '
  576. INFOT = 1
  577. CALL CHEEV_2STAGE( '/', 'U', 0, A, 1, X, W, 1, RW, INFO )
  578. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  579. INFOT = 1
  580. CALL CHEEV_2STAGE( 'V', 'U', 0, A, 1, X, W, 1, RW, INFO )
  581. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  582. INFOT = 2
  583. CALL CHEEV_2STAGE( 'N', '/', 0, A, 1, X, W, 1, RW, INFO )
  584. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  585. INFOT = 3
  586. CALL CHEEV_2STAGE( 'N', 'U', -1, A, 1, X, W, 1, RW, INFO )
  587. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  588. INFOT = 5
  589. CALL CHEEV_2STAGE( 'N', 'U', 2, A, 1, X, W, 3, RW, INFO )
  590. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  591. INFOT = 8
  592. CALL CHEEV_2STAGE( 'N', 'U', 2, A, 2, X, W, 2, RW, INFO )
  593. CALL CHKXER( 'CHEEV_2STAGE ', INFOT, NOUT, LERR, OK )
  594. NT = NT + 6
  595. *
  596. * CHEEVX
  597. *
  598. SRNAMT = 'CHEEVX'
  599. INFOT = 1
  600. CALL CHEEVX( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  601. $ Z, 1, W, 1, RW, IW, I3, INFO )
  602. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  603. INFOT = 2
  604. CALL CHEEVX( 'V', '/', 'U', 0, A, 1, 0.0, 1.0, 1, 0, 0.0, M, X,
  605. $ Z, 1, W, 1, RW, IW, I3, INFO )
  606. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  607. INFOT = 3
  608. CALL CHEEVX( 'V', 'A', '/', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  609. $ Z, 1, W, 1, RW, IW, I3, INFO )
  610. INFOT = 4
  611. CALL CHEEVX( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 0, 0, 0.0, M,
  612. $ X, Z, 1, W, 1, RW, IW, I3, INFO )
  613. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  614. INFOT = 6
  615. CALL CHEEVX( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  616. $ Z, 2, W, 3, RW, IW, I3, INFO )
  617. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  618. INFOT = 8
  619. CALL CHEEVX( 'V', 'V', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  620. $ Z, 1, W, 1, RW, IW, I3, INFO )
  621. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  622. INFOT = 9
  623. CALL CHEEVX( 'V', 'I', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
  624. $ Z, 1, W, 1, RW, IW, I3, INFO )
  625. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  626. INFOT = 10
  627. CALL CHEEVX( 'V', 'I', 'U', 2, A, 2, 0.0, 0.0, 2, 1, 0.0, M, X,
  628. $ Z, 2, W, 3, RW, IW, I3, INFO )
  629. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  630. INFOT = 15
  631. CALL CHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
  632. $ Z, 1, W, 3, RW, IW, I3, INFO )
  633. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  634. INFOT = 17
  635. CALL CHEEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
  636. $ Z, 2, W, 2, RW, IW, I1, INFO )
  637. CALL CHKXER( 'CHEEVX', INFOT, NOUT, LERR, OK )
  638. NT = NT + 10
  639. *
  640. * CHEEVX_2STAGE
  641. *
  642. SRNAMT = 'CHEEVX_2STAGE'
  643. INFOT = 1
  644. CALL CHEEVX_2STAGE( '/', 'A', 'U', 0, A, 1,
  645. $ 0.0, 0.0, 0, 0, 0.0,
  646. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  647. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  648. INFOT = 1
  649. CALL CHEEVX_2STAGE( 'V', 'A', 'U', 0, A, 1,
  650. $ 0.0, 0.0, 0, 0, 0.0,
  651. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  652. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  653. INFOT = 2
  654. CALL CHEEVX_2STAGE( 'N', '/', 'U', 0, A, 1,
  655. $ 0.0, 1.0, 1, 0, 0.0,
  656. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  657. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  658. INFOT = 3
  659. CALL CHEEVX_2STAGE( 'N', 'A', '/', 0, A, 1,
  660. $ 0.0, 0.0, 0, 0, 0.0,
  661. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  662. INFOT = 4
  663. CALL CHEEVX_2STAGE( 'N', 'A', 'U', -1, A, 1,
  664. $ 0.0, 0.0, 0, 0, 0.0,
  665. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  666. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  667. INFOT = 6
  668. CALL CHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 1,
  669. $ 0.0, 0.0, 0, 0, 0.0,
  670. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  671. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  672. INFOT = 8
  673. CALL CHEEVX_2STAGE( 'N', 'V', 'U', 1, A, 1,
  674. $ 0.0, 0.0, 0, 0, 0.0,
  675. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  676. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  677. INFOT = 9
  678. CALL CHEEVX_2STAGE( 'N', 'I', 'U', 1, A, 1,
  679. $ 0.0, 0.0, 0, 0, 0.0,
  680. $ M, X, Z, 1, W, 1, RW, IW, I3, INFO )
  681. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  682. INFOT = 10
  683. CALL CHEEVX_2STAGE( 'N', 'I', 'U', 2, A, 2,
  684. $ 0.0, 0.0, 2, 1, 0.0,
  685. $ M, X, Z, 2, W, 3, RW, IW, I3, INFO )
  686. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  687. INFOT = 15
  688. CALL CHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 2,
  689. $ 0.0, 0.0, 0, 0, 0.0,
  690. $ M, X, Z, 0, W, 3, RW, IW, I3, INFO )
  691. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  692. INFOT = 17
  693. CALL CHEEVX_2STAGE( 'N', 'A', 'U', 2, A, 2,
  694. $ 0.0, 0.0, 0, 0, 0.0,
  695. $ M, X, Z, 2, W, 0, RW, IW, I1, INFO )
  696. CALL CHKXER( 'CHEEVX_2STAGE', INFOT, NOUT, LERR, OK )
  697. NT = NT + 11
  698. *
  699. * CHEEVR
  700. *
  701. SRNAMT = 'CHEEVR'
  702. N = 1
  703. INFOT = 1
  704. CALL CHEEVR( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  705. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  706. $ INFO )
  707. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  708. INFOT = 2
  709. CALL CHEEVR( 'V', '/', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  710. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  711. $ INFO )
  712. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  713. INFOT = 3
  714. CALL CHEEVR( 'V', 'A', '/', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
  715. $ R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  716. $ INFO )
  717. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  718. INFOT = 4
  719. CALL CHEEVR( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
  720. $ R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  721. $ INFO )
  722. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  723. INFOT = 6
  724. CALL CHEEVR( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
  725. $ Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ), 10*N,
  726. $ INFO )
  727. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  728. INFOT = 8
  729. CALL CHEEVR( 'V', 'V', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  730. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  731. $ 10*N, INFO )
  732. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  733. INFOT = 9
  734. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 0, 1, 0.0,
  735. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  736. $ 10*N, INFO )
  737. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  738. INFOT = 10
  739. *
  740. CALL CHEEVR( 'V', 'I', 'U', 2, A, 2, 0.0E0, 0.0E0, 2, 1, 0.0,
  741. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  742. $ 10*N, INFO )
  743. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  744. INFOT = 15
  745. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  746. $ M, R, Z, 0, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  747. $ 10*N, INFO )
  748. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  749. INFOT = 18
  750. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  751. $ M, R, Z, 1, IW, Q, 0, RW, 24*N, IW( 2*N+1 ),
  752. $ 10*N, INFO )
  753. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  754. INFOT = 20
  755. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  756. $ M, R, Z, 1, IW, Q, 2*N, RW, 0, IW( 2*N-1 ),
  757. $ 10*N, INFO )
  758. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  759. INFOT = 22
  760. CALL CHEEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
  761. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW, 0,
  762. $ INFO )
  763. CALL CHKXER( 'CHEEVR', INFOT, NOUT, LERR, OK )
  764. NT = NT + 12
  765. *
  766. * CHEEVR_2STAGE
  767. *
  768. SRNAMT = 'CHEEVR_2STAGE'
  769. N = 1
  770. INFOT = 1
  771. CALL CHEEVR_2STAGE( '/', 'A', 'U', 0, A, 1,
  772. $ 0.0, 0.0, 1, 1, 0.0,
  773. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  774. $ 10*N, INFO )
  775. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  776. INFOT = 1
  777. CALL CHEEVR_2STAGE( 'V', 'A', 'U', 0, A, 1,
  778. $ 0.0, 0.0, 1, 1, 0.0,
  779. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  780. $ 10*N, INFO )
  781. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  782. INFOT = 2
  783. CALL CHEEVR_2STAGE( 'N', '/', 'U', 0, A, 1,
  784. $ 0.0, 0.0, 1, 1, 0.0,
  785. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  786. $ 10*N, INFO )
  787. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  788. INFOT = 3
  789. CALL CHEEVR_2STAGE( 'N', 'A', '/', -1, A, 1,
  790. $ 0.0, 0.0, 1, 1, 0.0,
  791. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  792. $ IW( 2*N+1 ), 10*N, INFO )
  793. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  794. INFOT = 4
  795. CALL CHEEVR_2STAGE( 'N', 'A', 'U', -1, A, 1,
  796. $ 0.0, 0.0, 1, 1, 0.0,
  797. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N,
  798. $ IW( 2*N+1 ), 10*N, INFO )
  799. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  800. INFOT = 6
  801. CALL CHEEVR_2STAGE( 'N', 'A', 'U', 2, A, 1,
  802. $ 0.0, 0.0, 1, 1, 0.0,
  803. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  804. $ 10*N, INFO )
  805. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  806. INFOT = 8
  807. CALL CHEEVR_2STAGE( 'N', 'V', 'U', 1, A, 1,
  808. $ 0.0, 0.0, 1, 1, 0.0,
  809. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  810. $ 10*N, INFO )
  811. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  812. INFOT = 9
  813. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  814. $ 0.0, 0.0, 0, 1, 0.0,
  815. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  816. $ 10*N, INFO )
  817. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  818. INFOT = 10
  819. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 2, A, 2,
  820. $ 0.0, 0.0, 2, 1, 0.0,
  821. $ M, R, Z, 1, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  822. $ 10*N, INFO )
  823. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  824. INFOT = 15
  825. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  826. $ 0.0, 0.0, 1, 1, 0.0,
  827. $ M, R, Z, 0, IW, Q, 2*N, RW, 24*N, IW( 2*N+1 ),
  828. $ 10*N, INFO )
  829. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  830. INFOT = 18
  831. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  832. $ 0.0, 0.0, 1, 1, 0.0,
  833. $ M, R, Z, 1, IW, Q, 0, RW, 24*N, IW( 2*N+1 ),
  834. $ 10*N, INFO )
  835. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  836. INFOT = 20
  837. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  838. $ 0.0, 0.0, 1, 1, 0.0,
  839. $ M, R, Z, 1, IW, Q, 26*N, RW, 0, IW( 2*N-1 ),
  840. $ 10*N, INFO )
  841. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  842. INFOT = 22
  843. CALL CHEEVR_2STAGE( 'N', 'I', 'U', 1, A, 1,
  844. $ 0.0, 0.0, 1, 1, 0.0,
  845. $ M, R, Z, 1, IW, Q, 26*N, RW, 24*N, IW, 0,
  846. $ INFO )
  847. CALL CHKXER( 'CHEEVR_2STAGE', INFOT, NOUT, LERR, OK )
  848. NT = NT + 13
  849. *
  850. * CHPEVD
  851. *
  852. SRNAMT = 'CHPEVD'
  853. INFOT = 1
  854. CALL CHPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  855. $ INFO )
  856. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  857. INFOT = 2
  858. CALL CHPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  859. $ INFO )
  860. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  861. INFOT = 3
  862. CALL CHPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, RW, 1, IW, 1,
  863. $ INFO )
  864. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  865. INFOT = 7
  866. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 1, W, 4, RW, 25, IW, 12,
  867. $ INFO )
  868. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  869. INFOT = 9
  870. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, RW, 1, IW, 1,
  871. $ INFO )
  872. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  873. INFOT = 9
  874. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 1, RW, 2, IW, 1,
  875. $ INFO )
  876. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  877. INFOT = 9
  878. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 2, RW, 25, IW, 12,
  879. $ INFO )
  880. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  881. INFOT = 11
  882. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 0, IW, 1,
  883. $ INFO )
  884. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  885. INFOT = 11
  886. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 1, IW, 1,
  887. $ INFO )
  888. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  889. INFOT = 11
  890. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 18, IW, 12,
  891. $ INFO )
  892. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  893. INFOT = 13
  894. CALL CHPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, RW, 1, IW, 0,
  895. $ INFO )
  896. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  897. INFOT = 13
  898. CALL CHPEVD( 'N', 'U', 2, A, X, Z, 2, W, 2, RW, 2, IW, 0,
  899. $ INFO )
  900. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  901. INFOT = 13
  902. CALL CHPEVD( 'V', 'U', 2, A, X, Z, 2, W, 4, RW, 25, IW, 2,
  903. $ INFO )
  904. CALL CHKXER( 'CHPEVD', INFOT, NOUT, LERR, OK )
  905. NT = NT + 13
  906. *
  907. * CHPEV
  908. *
  909. SRNAMT = 'CHPEV '
  910. INFOT = 1
  911. CALL CHPEV( '/', 'U', 0, A, X, Z, 1, W, RW, INFO )
  912. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  913. INFOT = 2
  914. CALL CHPEV( 'N', '/', 0, A, X, Z, 1, W, RW, INFO )
  915. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  916. INFOT = 3
  917. CALL CHPEV( 'N', 'U', -1, A, X, Z, 1, W, RW, INFO )
  918. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  919. INFOT = 7
  920. CALL CHPEV( 'V', 'U', 2, A, X, Z, 1, W, RW, INFO )
  921. CALL CHKXER( 'CHPEV ', INFOT, NOUT, LERR, OK )
  922. NT = NT + 4
  923. *
  924. * CHPEVX
  925. *
  926. SRNAMT = 'CHPEVX'
  927. INFOT = 1
  928. CALL CHPEVX( '/', 'A', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  929. $ 1, W, RW, IW, I3, INFO )
  930. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  931. INFOT = 2
  932. CALL CHPEVX( 'V', '/', 'U', 0, A, 0.0, 1.0, 1, 0, 0.0, M, X, Z,
  933. $ 1, W, RW, IW, I3, INFO )
  934. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  935. INFOT = 3
  936. CALL CHPEVX( 'V', 'A', '/', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  937. $ 1, W, RW, IW, I3, INFO )
  938. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  939. INFOT = 4
  940. CALL CHPEVX( 'V', 'A', 'U', -1, A, 0.0, 0.0, 0, 0, 0.0, M, X,
  941. $ Z, 1, W, RW, IW, I3, INFO )
  942. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  943. INFOT = 7
  944. CALL CHPEVX( 'V', 'V', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  945. $ 1, W, RW, IW, I3, INFO )
  946. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  947. INFOT = 8
  948. CALL CHPEVX( 'V', 'I', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  949. $ 1, W, RW, IW, I3, INFO )
  950. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  951. INFOT = 9
  952. CALL CHPEVX( 'V', 'I', 'U', 2, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
  953. $ 2, W, RW, IW, I3, INFO )
  954. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  955. INFOT = 14
  956. CALL CHPEVX( 'V', 'A', 'U', 2, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
  957. $ 1, W, RW, IW, I3, INFO )
  958. CALL CHKXER( 'CHPEVX', INFOT, NOUT, LERR, OK )
  959. NT = NT + 8
  960. *
  961. * Test error exits for the HB path.
  962. *
  963. ELSE IF( LSAMEN( 2, C2, 'HB' ) ) THEN
  964. *
  965. * CHBTRD
  966. *
  967. SRNAMT = 'CHBTRD'
  968. INFOT = 1
  969. CALL CHBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  970. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  971. INFOT = 2
  972. CALL CHBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
  973. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  974. INFOT = 3
  975. CALL CHBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
  976. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  977. INFOT = 4
  978. CALL CHBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
  979. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  980. INFOT = 6
  981. CALL CHBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
  982. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  983. INFOT = 10
  984. CALL CHBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
  985. CALL CHKXER( 'CHBTRD', INFOT, NOUT, LERR, OK )
  986. NT = NT + 6
  987. *
  988. * CHETRD_HB2ST
  989. *
  990. SRNAMT = 'CHETRD_HB2ST'
  991. INFOT = 1
  992. CALL CHETRD_HB2ST( '/', 'N', 'U', 0, 0, A, 1, D, E,
  993. $ C, 1, W, 1, INFO )
  994. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  995. INFOT = 2
  996. CALL CHETRD_HB2ST( 'N', '/', 'U', 0, 0, A, 1, D, E,
  997. $ C, 1, W, 1, INFO )
  998. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  999. INFOT = 2
  1000. CALL CHETRD_HB2ST( 'N', 'H', 'U', 0, 0, A, 1, D, E,
  1001. $ C, 1, W, 1, INFO )
  1002. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1003. INFOT = 3
  1004. CALL CHETRD_HB2ST( 'N', 'N', '/', 0, 0, A, 1, D, E,
  1005. $ C, 1, W, 1, INFO )
  1006. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1007. INFOT = 4
  1008. CALL CHETRD_HB2ST( 'N', 'N', 'U', -1, 0, A, 1, D, E,
  1009. $ C, 1, W, 1, INFO )
  1010. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1011. INFOT = 5
  1012. CALL CHETRD_HB2ST( 'N', 'N', 'U', 0, -1, A, 1, D, E,
  1013. $ C, 1, W, 1, INFO )
  1014. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1015. INFOT = 7
  1016. CALL CHETRD_HB2ST( 'N', 'N', 'U', 0, 1, A, 1, D, E,
  1017. $ C, 1, W, 1, INFO )
  1018. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1019. INFOT = 11
  1020. CALL CHETRD_HB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
  1021. $ C, 0, W, 1, INFO )
  1022. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1023. INFOT = 13
  1024. CALL CHETRD_HB2ST( 'N', 'N', 'U', 0, 0, A, 1, D, E,
  1025. $ C, 1, W, 0, INFO )
  1026. CALL CHKXER( 'CHETRD_HB2ST', INFOT, NOUT, LERR, OK )
  1027. NT = NT + 9
  1028. *
  1029. * CHBEVD
  1030. *
  1031. SRNAMT = 'CHBEVD'
  1032. INFOT = 1
  1033. CALL CHBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  1034. $ INFO )
  1035. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1036. INFOT = 2
  1037. CALL CHBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 1,
  1038. $ INFO )
  1039. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1040. INFOT = 3
  1041. CALL CHBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  1042. $ 1, INFO )
  1043. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1044. INFOT = 4
  1045. CALL CHBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, RW, 1, IW,
  1046. $ 1, INFO )
  1047. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1048. INFOT = 6
  1049. CALL CHBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 2, RW, 2, IW, 1,
  1050. $ INFO )
  1051. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1052. INFOT = 9
  1053. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 8, RW, 25, IW,
  1054. $ 12, INFO )
  1055. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1056. INFOT = 11
  1057. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, RW, 1, IW, 1,
  1058. $ INFO )
  1059. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1060. INFOT = 11
  1061. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 1, RW, 2, IW, 1,
  1062. $ INFO )
  1063. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1064. INFOT = 11
  1065. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 25, IW,
  1066. $ 12, INFO )
  1067. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1068. INFOT = 13
  1069. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 0, IW, 1,
  1070. $ INFO )
  1071. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1072. INFOT = 13
  1073. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 1, IW, 1,
  1074. $ INFO )
  1075. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1076. INFOT = 13
  1077. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 2, IW,
  1078. $ 12, INFO )
  1079. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1080. INFOT = 15
  1081. CALL CHBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, RW, 1, IW, 0,
  1082. $ INFO )
  1083. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1084. INFOT = 15
  1085. CALL CHBEVD( 'N', 'U', 2, 1, A, 2, X, Z, 2, W, 2, RW, 2, IW, 0,
  1086. $ INFO )
  1087. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1088. INFOT = 15
  1089. CALL CHBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 2, W, 8, RW, 25, IW,
  1090. $ 2, INFO )
  1091. CALL CHKXER( 'CHBEVD', INFOT, NOUT, LERR, OK )
  1092. NT = NT + 15
  1093. *
  1094. * CHBEVD_2STAGE
  1095. *
  1096. SRNAMT = 'CHBEVD_2STAGE'
  1097. INFOT = 1
  1098. CALL CHBEVD_2STAGE( '/', 'U', 0, 0, A, 1, X, Z, 1,
  1099. $ W, 1, RW, 1, IW, 1, INFO )
  1100. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1101. INFOT = 1
  1102. CALL CHBEVD_2STAGE( 'V', 'U', 0, 0, A, 1, X, Z, 1,
  1103. $ W, 1, RW, 1, IW, 1, INFO )
  1104. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1105. INFOT = 2
  1106. CALL CHBEVD_2STAGE( 'N', '/', 0, 0, A, 1, X, Z, 1,
  1107. $ W, 1, RW, 1, IW, 1, INFO )
  1108. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1109. INFOT = 3
  1110. CALL CHBEVD_2STAGE( 'N', 'U', -1, 0, A, 1, X, Z, 1,
  1111. $ W, 1, RW, 1, IW, 1, INFO )
  1112. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1113. INFOT = 4
  1114. CALL CHBEVD_2STAGE( 'N', 'U', 0, -1, A, 1, X, Z, 1,
  1115. $ W, 1, RW, 1, IW, 1, INFO )
  1116. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1117. INFOT = 6
  1118. CALL CHBEVD_2STAGE( 'N', 'U', 2, 1, A, 1, X, Z, 1,
  1119. $ W, 2, RW, 2, IW, 1, INFO )
  1120. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1121. INFOT = 9
  1122. CALL CHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 0,
  1123. $ W, 8, RW, 25, IW, 12, INFO )
  1124. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1125. INFOT = 11
  1126. CALL CHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1127. $ W, 0, RW, 1, IW, 1, INFO )
  1128. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1129. INFOT = 11
  1130. CALL CHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1131. $ W, 1, RW, 2, IW, 1, INFO )
  1132. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1133. * INFOT = 11
  1134. * CALL CHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1135. * $ W, 2, RW, 25, IW, 12, INFO )
  1136. * CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1137. INFOT = 13
  1138. CALL CHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1139. $ W, 1, RW, 0, IW, 1, INFO )
  1140. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1141. INFOT = 13
  1142. CALL CHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1143. $ W, 25, RW, 1, IW, 1, INFO )
  1144. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1145. * INFOT = 13
  1146. * CALL CHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1147. * $ W, 25, RW, 2, IW, 12, INFO )
  1148. * CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1149. INFOT = 15
  1150. CALL CHBEVD_2STAGE( 'N', 'U', 1, 0, A, 1, X, Z, 1,
  1151. $ W, 1, RW, 1, IW, 0, INFO )
  1152. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1153. INFOT = 15
  1154. CALL CHBEVD_2STAGE( 'N', 'U', 2, 1, A, 2, X, Z, 2,
  1155. $ W, 25, RW, 2, IW, 0, INFO )
  1156. CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1157. * INFOT = 15
  1158. * CALL CHBEVD_2STAGE( 'V', 'U', 2, 1, A, 2, X, Z, 2,
  1159. * $ W, 25, RW, 25, IW, 2, INFO )
  1160. * CALL CHKXER( 'CHBEVD_2STAGE', INFOT, NOUT, LERR, OK )
  1161. NT = NT + 13
  1162. *
  1163. * CHBEV
  1164. *
  1165. SRNAMT = 'CHBEV '
  1166. INFOT = 1
  1167. CALL CHBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  1168. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1169. INFOT = 2
  1170. CALL CHBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, RW, INFO )
  1171. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1172. INFOT = 3
  1173. CALL CHBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, RW, INFO )
  1174. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1175. INFOT = 4
  1176. CALL CHBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, RW, INFO )
  1177. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1178. INFOT = 6
  1179. CALL CHBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, RW, INFO )
  1180. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1181. INFOT = 9
  1182. CALL CHBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, RW, INFO )
  1183. CALL CHKXER( 'CHBEV ', INFOT, NOUT, LERR, OK )
  1184. NT = NT + 6
  1185. *
  1186. * CHBEV_2STAGE
  1187. *
  1188. SRNAMT = 'CHBEV_2STAGE '
  1189. INFOT = 1
  1190. CALL CHBEV_2STAGE( '/', 'U', 0, 0, A, 1, X,
  1191. $ Z, 1, W, 0, RW, INFO )
  1192. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1193. INFOT = 1
  1194. CALL CHBEV_2STAGE( 'V', 'U', 0, 0, A, 1, X,
  1195. $ Z, 1, W, 0, RW, INFO )
  1196. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1197. INFOT = 2
  1198. CALL CHBEV_2STAGE( 'N', '/', 0, 0, A, 1, X,
  1199. $ Z, 1, W, 0, RW, INFO )
  1200. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1201. INFOT = 3
  1202. CALL CHBEV_2STAGE( 'N', 'U', -1, 0, A, 1, X,
  1203. $ Z, 1, W, 0, RW, INFO )
  1204. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1205. INFOT = 4
  1206. CALL CHBEV_2STAGE( 'N', 'U', 0, -1, A, 1, X,
  1207. $ Z, 1, W, 0, RW, INFO )
  1208. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1209. INFOT = 6
  1210. CALL CHBEV_2STAGE( 'N', 'U', 2, 1, A, 1, X,
  1211. $ Z, 1, W, 0, RW, INFO )
  1212. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1213. INFOT = 9
  1214. CALL CHBEV_2STAGE( 'N', 'U', 2, 0, A, 1, X,
  1215. $ Z, 0, W, 0, RW, INFO )
  1216. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1217. INFOT = 11
  1218. CALL CHBEV_2STAGE( 'N', 'U', 2, 0, A, 1, X,
  1219. $ Z, 1, W, 0, RW, INFO )
  1220. CALL CHKXER( 'CHBEV_2STAGE ', INFOT, NOUT, LERR, OK )
  1221. NT = NT + 8
  1222. *
  1223. * CHBEVX
  1224. *
  1225. SRNAMT = 'CHBEVX'
  1226. INFOT = 1
  1227. CALL CHBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1228. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1229. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1230. INFOT = 2
  1231. CALL CHBEVX( 'V', '/', 'U', 0, 0, A, 1, Q, 1, 0.0, 1.0, 1, 0,
  1232. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1233. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1234. INFOT = 3
  1235. CALL CHBEVX( 'V', 'A', '/', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1236. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1237. INFOT = 4
  1238. CALL CHBEVX( 'V', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1239. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1240. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1241. INFOT = 5
  1242. CALL CHBEVX( 'V', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1243. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1244. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1245. INFOT = 7
  1246. CALL CHBEVX( 'V', 'A', 'U', 2, 1, A, 1, Q, 2, 0.0, 0.0, 0, 0,
  1247. $ 0.0, M, X, Z, 2, W, RW, IW, I3, INFO )
  1248. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1249. INFOT = 9
  1250. CALL CHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1251. $ 0.0, M, X, Z, 2, W, RW, IW, I3, INFO )
  1252. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1253. INFOT = 11
  1254. CALL CHBEVX( 'V', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1255. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1256. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1257. INFOT = 12
  1258. CALL CHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
  1259. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1260. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1261. INFOT = 13
  1262. CALL CHBEVX( 'V', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 1, 2,
  1263. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1264. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1265. INFOT = 18
  1266. CALL CHBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0, 0.0, 0, 0,
  1267. $ 0.0, M, X, Z, 1, W, RW, IW, I3, INFO )
  1268. CALL CHKXER( 'CHBEVX', INFOT, NOUT, LERR, OK )
  1269. NT = NT + 11
  1270. *
  1271. * CHBEVX_2STAGE
  1272. *
  1273. SRNAMT = 'CHBEVX_2STAGE'
  1274. INFOT = 1
  1275. CALL CHBEVX_2STAGE( '/', 'A', 'U', 0, 0, A, 1, Q, 1,
  1276. $ 0.0, 0.0, 0, 0, 0.0,
  1277. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1278. INFOT = 1
  1279. CALL CHBEVX_2STAGE( 'V', 'A', 'U', 0, 0, A, 1, Q, 1,
  1280. $ 0.0, 0.0, 0, 0, 0.0,
  1281. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1282. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1283. INFOT = 2
  1284. CALL CHBEVX_2STAGE( 'N', '/', 'U', 0, 0, A, 1, Q, 1,
  1285. $ 0.0, 1.0, 1, 0, 0.0,
  1286. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1287. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1288. INFOT = 3
  1289. CALL CHBEVX_2STAGE( 'N', 'A', '/', 0, 0, A, 1, Q, 1,
  1290. $ 0.0, 0.0, 0, 0, 0.0,
  1291. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1292. INFOT = 4
  1293. CALL CHBEVX_2STAGE( 'N', 'A', 'U', -1, 0, A, 1, Q, 1,
  1294. $ 0.0, 0.0, 0, 0, 0.0,
  1295. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1296. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1297. INFOT = 5
  1298. CALL CHBEVX_2STAGE( 'N', 'A', 'U', 0, -1, A, 1, Q, 1,
  1299. $ 0.0, 0.0, 0, 0, 0.0,
  1300. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1301. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1302. INFOT = 7
  1303. CALL CHBEVX_2STAGE( 'N', 'A', 'U', 2, 1, A, 1, Q, 2,
  1304. $ 0.0, 0.0, 0, 0, 0.0,
  1305. $ M, X, Z, 2, W, 0, RW, IW, I3, INFO )
  1306. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1307. * INFOT = 9
  1308. * CALL CHBEVX_2STAGE( 'V', 'A', 'U', 2, 0, A, 1, Q, 1,
  1309. * $ 0.0, 0.0, 0, 0, 0.0,
  1310. * $ M, X, Z, 2, W, 0, RW, IW, I3, INFO )
  1311. * CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1312. INFOT = 11
  1313. CALL CHBEVX_2STAGE( 'N', 'V', 'U', 1, 0, A, 1, Q, 1,
  1314. $ 0.0, 0.0, 0, 0, 0.0,
  1315. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1316. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1317. INFOT = 12
  1318. CALL CHBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1,
  1319. $ 0.0, 0.0, 0, 0, 0.0,
  1320. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1321. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1322. INFOT = 13
  1323. CALL CHBEVX_2STAGE( 'N', 'I', 'U', 1, 0, A, 1, Q, 1,
  1324. $ 0.0, 0.0, 1, 2, 0.0,
  1325. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1326. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1327. INFOT = 18
  1328. CALL CHBEVX_2STAGE( 'N', 'A', 'U', 2, 0, A, 1, Q, 2,
  1329. $ 0.0, 0.0, 0, 0, 0.0,
  1330. $ M, X, Z, 0, W, 0, RW, IW, I3, INFO )
  1331. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1332. INFOT = 20
  1333. CALL CHBEVX_2STAGE( 'N', 'A', 'U', 2, 0, A, 1, Q, 2,
  1334. $ 0.0, 0.0, 0, 0, 0.0,
  1335. $ M, X, Z, 1, W, 0, RW, IW, I3, INFO )
  1336. CALL CHKXER( 'CHBEVX_2STAGE', INFOT, NOUT, LERR, OK )
  1337. NT = NT + 12
  1338. END IF
  1339. *
  1340. * Print a summary line.
  1341. *
  1342. IF( OK ) THEN
  1343. WRITE( NOUT, FMT = 9999 )PATH, NT
  1344. ELSE
  1345. WRITE( NOUT, FMT = 9998 )PATH
  1346. END IF
  1347. *
  1348. 9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
  1349. $ ' (', I3, ' tests done)' )
  1350. 9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
  1351. $ 'exits ***' )
  1352. *
  1353. RETURN
  1354. *
  1355. * End of CERRST
  1356. *
  1357. END