LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
serrst.f
Go to the documentation of this file.
00001 *> \brief \b SERRST
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *  Definition:
00009 *  ===========
00010 *
00011 *       SUBROUTINE SERRST( PATH, NUNIT )
00012 * 
00013 *       .. Scalar Arguments ..
00014 *       CHARACTER*3        PATH
00015 *       INTEGER            NUNIT
00016 *       ..
00017 *  
00018 *
00019 *> \par Purpose:
00020 *  =============
00021 *>
00022 *> \verbatim
00023 *>
00024 *> SERRST tests the error exits for SSYTRD, SORGTR, SORMTR, SSPTRD,
00025 *> SOPGTR, SOPMTR, SSTEQR, SSTERF, SSTEBZ, SSTEIN, SPTEQR, SSBTRD,
00026 *> SSYEV, SSYEVX, SSYEVD, SSBEV, SSBEVX, SSBEVD,
00027 *> SSPEV, SSPEVX, SSPEVD, SSTEV, SSTEVX, SSTEVD, and SSTEDC.
00028 *> \endverbatim
00029 *
00030 *  Arguments:
00031 *  ==========
00032 *
00033 *> \param[in] PATH
00034 *> \verbatim
00035 *>          PATH is CHARACTER*3
00036 *>          The LAPACK path name for the routines to be tested.
00037 *> \endverbatim
00038 *>
00039 *> \param[in] NUNIT
00040 *> \verbatim
00041 *>          NUNIT is INTEGER
00042 *>          The unit number for output.
00043 *> \endverbatim
00044 *
00045 *  Authors:
00046 *  ========
00047 *
00048 *> \author Univ. of Tennessee 
00049 *> \author Univ. of California Berkeley 
00050 *> \author Univ. of Colorado Denver 
00051 *> \author NAG Ltd. 
00052 *
00053 *> \date November 2011
00054 *
00055 *> \ingroup single_eig
00056 *
00057 *  =====================================================================
00058       SUBROUTINE SERRST( PATH, NUNIT )
00059 *
00060 *  -- LAPACK test routine (version 3.4.0) --
00061 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00062 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00063 *     November 2011
00064 *
00065 *     .. Scalar Arguments ..
00066       CHARACTER*3        PATH
00067       INTEGER            NUNIT
00068 *     ..
00069 *
00070 *  =====================================================================
00071 *
00072 *     NMAX has to be at least 3 or LIW may be too small
00073 *     .. Parameters ..
00074       INTEGER            NMAX, LIW, LW
00075       PARAMETER          ( NMAX = 3, LIW = 12*NMAX, LW = 20*NMAX )
00076 *     ..
00077 *     .. Local Scalars ..
00078       CHARACTER*2        C2
00079       INTEGER            I, INFO, J, M, N, NSPLIT, NT
00080 *     ..
00081 *     .. Local Arrays ..
00082       INTEGER            I1( NMAX ), I2( NMAX ), I3( NMAX ), IW( LIW )
00083       REAL               A( NMAX, NMAX ), C( NMAX, NMAX ), D( NMAX ),
00084      $                   E( NMAX ), Q( NMAX, NMAX ), R( NMAX ),
00085      $                   TAU( NMAX ), W( LW ), X( NMAX ),
00086      $                   Z( NMAX, NMAX )
00087 *     ..
00088 *     .. External Functions ..
00089       LOGICAL            LSAMEN
00090       EXTERNAL           LSAMEN
00091 *     ..
00092 *     .. External Subroutines ..
00093       EXTERNAL           CHKXER, SOPGTR, SOPMTR, SORGTR, SORMTR, SPTEQR,
00094      $                   SSBEV, SSBEVD, SSBEVX, SSBTRD, SSPEV, SSPEVD,
00095      $                   SSPEVX, SSPTRD, SSTEBZ, SSTEDC, SSTEIN, SSTEQR,
00096      $                   SSTERF, SSTEV, SSTEVD, SSTEVR, SSTEVX, SSYEV,
00097      $                   SSYEVD, SSYEVR, SSYEVX, SSYTRD
00098 *     ..
00099 *     .. Scalars in Common ..
00100       LOGICAL            LERR, OK
00101       CHARACTER*32       SRNAMT
00102       INTEGER            INFOT, NOUT
00103 *     ..
00104 *     .. Common blocks ..
00105       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00106       COMMON             / SRNAMC / SRNAMT
00107 *     ..
00108 *     .. Intrinsic Functions ..
00109       INTRINSIC          REAL
00110 *     ..
00111 *     .. Executable Statements ..
00112 *
00113       NOUT = NUNIT
00114       WRITE( NOUT, FMT = * )
00115       C2 = PATH( 2: 3 )
00116 *
00117 *     Set the variables to innocuous values.
00118 *
00119       DO 20 J = 1, NMAX
00120          DO 10 I = 1, NMAX
00121             A( I, J ) = 1. / REAL( I+J )
00122    10    CONTINUE
00123    20 CONTINUE
00124       DO 30 J = 1, NMAX
00125          D( J ) = REAL( J )
00126          E( J ) = 0.0
00127          I1( J ) = J
00128          I2( J ) = J
00129          TAU( J ) = 1.
00130    30 CONTINUE
00131       OK = .TRUE.
00132       NT = 0
00133 *
00134 *     Test error exits for the ST path.
00135 *
00136       IF( LSAMEN( 2, C2, 'ST' ) ) THEN
00137 *
00138 *        SSYTRD
00139 *
00140          SRNAMT = 'SSYTRD'
00141          INFOT = 1
00142          CALL SSYTRD( '/', 0, A, 1, D, E, TAU, W, 1, INFO )
00143          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
00144          INFOT = 2
00145          CALL SSYTRD( 'U', -1, A, 1, D, E, TAU, W, 1, INFO )
00146          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
00147          INFOT = 4
00148          CALL SSYTRD( 'U', 2, A, 1, D, E, TAU, W, 1, INFO )
00149          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
00150          INFOT = 9
00151          CALL SSYTRD( 'U', 0, A, 1, D, E, TAU, W, 0, INFO )
00152          CALL CHKXER( 'SSYTRD', INFOT, NOUT, LERR, OK )
00153          NT = NT + 4
00154 *
00155 *        SORGTR
00156 *
00157          SRNAMT = 'SORGTR'
00158          INFOT = 1
00159          CALL SORGTR( '/', 0, A, 1, TAU, W, 1, INFO )
00160          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
00161          INFOT = 2
00162          CALL SORGTR( 'U', -1, A, 1, TAU, W, 1, INFO )
00163          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
00164          INFOT = 4
00165          CALL SORGTR( 'U', 2, A, 1, TAU, W, 1, INFO )
00166          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
00167          INFOT = 7
00168          CALL SORGTR( 'U', 3, A, 3, TAU, W, 1, INFO )
00169          CALL CHKXER( 'SORGTR', INFOT, NOUT, LERR, OK )
00170          NT = NT + 4
00171 *
00172 *        SORMTR
00173 *
00174          SRNAMT = 'SORMTR'
00175          INFOT = 1
00176          CALL SORMTR( '/', 'U', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00177          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00178          INFOT = 2
00179          CALL SORMTR( 'L', '/', 'N', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00180          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00181          INFOT = 3
00182          CALL SORMTR( 'L', 'U', '/', 0, 0, A, 1, TAU, C, 1, W, 1, INFO )
00183          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00184          INFOT = 4
00185          CALL SORMTR( 'L', 'U', 'N', -1, 0, A, 1, TAU, C, 1, W, 1,
00186      $                INFO )
00187          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00188          INFOT = 5
00189          CALL SORMTR( 'L', 'U', 'N', 0, -1, A, 1, TAU, C, 1, W, 1,
00190      $                INFO )
00191          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00192          INFOT = 7
00193          CALL SORMTR( 'L', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
00194          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00195          INFOT = 7
00196          CALL SORMTR( 'R', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
00197          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00198          INFOT = 10
00199          CALL SORMTR( 'L', 'U', 'N', 2, 0, A, 2, TAU, C, 1, W, 1, INFO )
00200          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00201          INFOT = 12
00202          CALL SORMTR( 'L', 'U', 'N', 0, 2, A, 1, TAU, C, 1, W, 1, INFO )
00203          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00204          INFOT = 12
00205          CALL SORMTR( 'R', 'U', 'N', 2, 0, A, 1, TAU, C, 2, W, 1, INFO )
00206          CALL CHKXER( 'SORMTR', INFOT, NOUT, LERR, OK )
00207          NT = NT + 10
00208 *
00209 *        SSPTRD
00210 *
00211          SRNAMT = 'SSPTRD'
00212          INFOT = 1
00213          CALL SSPTRD( '/', 0, A, D, E, TAU, INFO )
00214          CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
00215          INFOT = 2
00216          CALL SSPTRD( 'U', -1, A, D, E, TAU, INFO )
00217          CALL CHKXER( 'SSPTRD', INFOT, NOUT, LERR, OK )
00218          NT = NT + 2
00219 *
00220 *        SOPGTR
00221 *
00222          SRNAMT = 'SOPGTR'
00223          INFOT = 1
00224          CALL SOPGTR( '/', 0, A, TAU, Z, 1, W, INFO )
00225          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
00226          INFOT = 2
00227          CALL SOPGTR( 'U', -1, A, TAU, Z, 1, W, INFO )
00228          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
00229          INFOT = 6
00230          CALL SOPGTR( 'U', 2, A, TAU, Z, 1, W, INFO )
00231          CALL CHKXER( 'SOPGTR', INFOT, NOUT, LERR, OK )
00232          NT = NT + 3
00233 *
00234 *        SOPMTR
00235 *
00236          SRNAMT = 'SOPMTR'
00237          INFOT = 1
00238          CALL SOPMTR( '/', 'U', 'N', 0, 0, A, TAU, C, 1, W, INFO )
00239          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00240          INFOT = 2
00241          CALL SOPMTR( 'L', '/', 'N', 0, 0, A, TAU, C, 1, W, INFO )
00242          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00243          INFOT = 3
00244          CALL SOPMTR( 'L', 'U', '/', 0, 0, A, TAU, C, 1, W, INFO )
00245          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00246          INFOT = 4
00247          CALL SOPMTR( 'L', 'U', 'N', -1, 0, A, TAU, C, 1, W, INFO )
00248          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00249          INFOT = 5
00250          CALL SOPMTR( 'L', 'U', 'N', 0, -1, A, TAU, C, 1, W, INFO )
00251          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00252          INFOT = 9
00253          CALL SOPMTR( 'L', 'U', 'N', 2, 0, A, TAU, C, 1, W, INFO )
00254          CALL CHKXER( 'SOPMTR', INFOT, NOUT, LERR, OK )
00255          NT = NT + 6
00256 *
00257 *        SPTEQR
00258 *
00259          SRNAMT = 'SPTEQR'
00260          INFOT = 1
00261          CALL SPTEQR( '/', 0, D, E, Z, 1, W, INFO )
00262          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
00263          INFOT = 2
00264          CALL SPTEQR( 'N', -1, D, E, Z, 1, W, INFO )
00265          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
00266          INFOT = 6
00267          CALL SPTEQR( 'V', 2, D, E, Z, 1, W, INFO )
00268          CALL CHKXER( 'SPTEQR', INFOT, NOUT, LERR, OK )
00269          NT = NT + 3
00270 *
00271 *        SSTEBZ
00272 *
00273          SRNAMT = 'SSTEBZ'
00274          INFOT = 1
00275          CALL SSTEBZ( '/', 'E', 0, 0.0, 1.0, 1, 0, 0.0, D, E, M, NSPLIT,
00276      $                X, I1, I2, W, IW, INFO )
00277          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00278          INFOT = 2
00279          CALL SSTEBZ( 'A', '/', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
00280      $                X, I1, I2, W, IW, INFO )
00281          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00282          INFOT = 3
00283          CALL SSTEBZ( 'A', 'E', -1, 0.0, 0.0, 0, 0, 0.0, D, E, M,
00284      $                NSPLIT, X, I1, I2, W, IW, INFO )
00285          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00286          INFOT = 5
00287          CALL SSTEBZ( 'V', 'E', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
00288      $                X, I1, I2, W, IW, INFO )
00289          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00290          INFOT = 6
00291          CALL SSTEBZ( 'I', 'E', 0, 0.0, 0.0, 0, 0, 0.0, D, E, M, NSPLIT,
00292      $                X, I1, I2, W, IW, INFO )
00293          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00294          INFOT = 6
00295          CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 2, 1, 0.0, D, E, M, NSPLIT,
00296      $                X, I1, I2, W, IW, INFO )
00297          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00298          INFOT = 7
00299          CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 1, 0, 0.0, D, E, M, NSPLIT,
00300      $                X, I1, I2, W, IW, INFO )
00301          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00302          INFOT = 7
00303          CALL SSTEBZ( 'I', 'E', 1, 0.0, 0.0, 1, 2, 0.0, D, E, M, NSPLIT,
00304      $                X, I1, I2, W, IW, INFO )
00305          CALL CHKXER( 'SSTEBZ', INFOT, NOUT, LERR, OK )
00306          NT = NT + 8
00307 *
00308 *        SSTEIN
00309 *
00310          SRNAMT = 'SSTEIN'
00311          INFOT = 1
00312          CALL SSTEIN( -1, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
00313          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
00314          INFOT = 4
00315          CALL SSTEIN( 0, D, E, -1, X, I1, I2, Z, 1, W, IW, I3, INFO )
00316          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
00317          INFOT = 4
00318          CALL SSTEIN( 0, D, E, 1, X, I1, I2, Z, 1, W, IW, I3, INFO )
00319          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
00320          INFOT = 9
00321          CALL SSTEIN( 2, D, E, 0, X, I1, I2, Z, 1, W, IW, I3, INFO )
00322          CALL CHKXER( 'SSTEIN', INFOT, NOUT, LERR, OK )
00323          NT = NT + 4
00324 *
00325 *        SSTEQR
00326 *
00327          SRNAMT = 'SSTEQR'
00328          INFOT = 1
00329          CALL SSTEQR( '/', 0, D, E, Z, 1, W, INFO )
00330          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
00331          INFOT = 2
00332          CALL SSTEQR( 'N', -1, D, E, Z, 1, W, INFO )
00333          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
00334          INFOT = 6
00335          CALL SSTEQR( 'V', 2, D, E, Z, 1, W, INFO )
00336          CALL CHKXER( 'SSTEQR', INFOT, NOUT, LERR, OK )
00337          NT = NT + 3
00338 *
00339 *        SSTERF
00340 *
00341          SRNAMT = 'SSTERF'
00342          INFOT = 1
00343          CALL SSTERF( -1, D, E, INFO )
00344          CALL CHKXER( 'SSTERF', INFOT, NOUT, LERR, OK )
00345          NT = NT + 1
00346 *
00347 *        SSTEDC
00348 *
00349          SRNAMT = 'SSTEDC'
00350          INFOT = 1
00351          CALL SSTEDC( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
00352          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00353          INFOT = 2
00354          CALL SSTEDC( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
00355          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00356          INFOT = 6
00357          CALL SSTEDC( 'V', 2, D, E, Z, 1, W, 23, IW, 28, INFO )
00358          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00359          INFOT = 8
00360          CALL SSTEDC( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
00361          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00362          INFOT = 8
00363          CALL SSTEDC( 'I', 2, D, E, Z, 2, W, 0, IW, 12, INFO )
00364          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00365          INFOT = 8
00366          CALL SSTEDC( 'V', 2, D, E, Z, 2, W, 0, IW, 28, INFO )
00367          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00368          INFOT = 10
00369          CALL SSTEDC( 'N', 1, D, E, Z, 1, W, 1, IW, 0, INFO )
00370          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00371          INFOT = 10
00372          CALL SSTEDC( 'I', 2, D, E, Z, 2, W, 19, IW, 0, INFO )
00373          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00374          INFOT = 10
00375          CALL SSTEDC( 'V', 2, D, E, Z, 2, W, 23, IW, 0, INFO )
00376          CALL CHKXER( 'SSTEDC', INFOT, NOUT, LERR, OK )
00377          NT = NT + 9
00378 *
00379 *        SSTEVD
00380 *
00381          SRNAMT = 'SSTEVD'
00382          INFOT = 1
00383          CALL SSTEVD( '/', 0, D, E, Z, 1, W, 1, IW, 1, INFO )
00384          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00385          INFOT = 2
00386          CALL SSTEVD( 'N', -1, D, E, Z, 1, W, 1, IW, 1, INFO )
00387          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00388          INFOT = 6
00389          CALL SSTEVD( 'V', 2, D, E, Z, 1, W, 19, IW, 12, INFO )
00390          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00391          INFOT = 8
00392          CALL SSTEVD( 'N', 1, D, E, Z, 1, W, 0, IW, 1, INFO )
00393          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00394          INFOT = 8
00395          CALL SSTEVD( 'V', 2, D, E, Z, 2, W, 12, IW, 12, INFO )
00396          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00397          INFOT = 10
00398          CALL SSTEVD( 'N', 0, D, E, Z, 1, W, 1, IW, 0, INFO )
00399          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00400          INFOT = 10
00401          CALL SSTEVD( 'V', 2, D, E, Z, 2, W, 19, IW, 11, INFO )
00402          CALL CHKXER( 'SSTEVD', INFOT, NOUT, LERR, OK )
00403          NT = NT + 7
00404 *
00405 *        SSTEV
00406 *
00407          SRNAMT = 'SSTEV '
00408          INFOT = 1
00409          CALL SSTEV( '/', 0, D, E, Z, 1, W, INFO )
00410          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
00411          INFOT = 2
00412          CALL SSTEV( 'N', -1, D, E, Z, 1, W, INFO )
00413          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
00414          INFOT = 6
00415          CALL SSTEV( 'V', 2, D, E, Z, 1, W, INFO )
00416          CALL CHKXER( 'SSTEV ', INFOT, NOUT, LERR, OK )
00417          NT = NT + 3
00418 *
00419 *        SSTEVX
00420 *
00421          SRNAMT = 'SSTEVX'
00422          INFOT = 1
00423          CALL SSTEVX( '/', 'A', 0, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00424      $                1, W, IW, I3, INFO )
00425          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00426          INFOT = 2
00427          CALL SSTEVX( 'N', '/', 0, D, E, 0.0, 1.0, 1, 0, 0.0, M, X, Z,
00428      $                1, W, IW, I3, INFO )
00429          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00430          INFOT = 3
00431          CALL SSTEVX( 'N', 'A', -1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00432      $                1, W, IW, I3, INFO )
00433          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00434          INFOT = 7
00435          CALL SSTEVX( 'N', 'V', 1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00436      $                1, W, IW, I3, INFO )
00437          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00438          INFOT = 8
00439          CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00440      $                1, W, IW, I3, INFO )
00441          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00442          INFOT = 8
00443          CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
00444      $                1, W, IW, I3, INFO )
00445          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00446          INFOT = 9
00447          CALL SSTEVX( 'N', 'I', 2, D, E, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
00448      $                1, W, IW, I3, INFO )
00449          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00450          INFOT = 9
00451          CALL SSTEVX( 'N', 'I', 1, D, E, 0.0, 0.0, 1, 2, 0.0, M, X, Z,
00452      $                1, W, IW, I3, INFO )
00453          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00454          INFOT = 14
00455          CALL SSTEVX( 'V', 'A', 2, D, E, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00456      $                1, W, IW, I3, INFO )
00457          CALL CHKXER( 'SSTEVX', INFOT, NOUT, LERR, OK )
00458          NT = NT + 9
00459 *
00460 *        SSTEVR
00461 *
00462          N = 1
00463          SRNAMT = 'SSTEVR'
00464          INFOT = 1
00465          CALL SSTEVR( '/', 'A', 0, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
00466      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00467          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00468          INFOT = 2
00469          CALL SSTEVR( 'V', '/', 0, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
00470      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00471          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00472          INFOT = 3
00473          CALL SSTEVR( 'V', 'A', -1, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
00474      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00475          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00476          INFOT = 7
00477          CALL SSTEVR( 'V', 'V', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, R, Z,
00478      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00479          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00480          INFOT = 8
00481          CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 0, 1, 0.0, M, W, Z,
00482      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00483          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00484          INFOT = 9
00485          N = 2
00486          CALL SSTEVR( 'V', 'I', 2, D, E, 0.0, 0.0, 2, 1, 0.0, M, W, Z,
00487      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00488          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00489          INFOT = 14
00490          N = 1
00491          CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
00492      $                0, IW, X, 20*N, IW( 2*N+1 ), 10*N, INFO )
00493          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00494          INFOT = 17
00495          CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
00496      $                1, IW, X, 20*N-1, IW( 2*N+1 ), 10*N, INFO )
00497          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00498          INFOT = 19
00499          CALL SSTEVR( 'V', 'I', 1, D, E, 0.0, 0.0, 1, 1, 0.0, M, W, Z,
00500      $                1, IW, X, 20*N, IW( 2*N+1 ), 10*N-1, INFO )
00501          CALL CHKXER( 'SSTEVR', INFOT, NOUT, LERR, OK )
00502          NT = NT + 9
00503 *
00504 *        SSYEVD
00505 *
00506          SRNAMT = 'SSYEVD'
00507          INFOT = 1
00508          CALL SSYEVD( '/', 'U', 0, A, 1, X, W, 1, IW, 1, INFO )
00509          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00510          INFOT = 2
00511          CALL SSYEVD( 'N', '/', 0, A, 1, X, W, 1, IW, 1, INFO )
00512          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00513          INFOT = 3
00514          CALL SSYEVD( 'N', 'U', -1, A, 1, X, W, 1, IW, 1, INFO )
00515          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00516          INFOT = 5
00517          CALL SSYEVD( 'N', 'U', 2, A, 1, X, W, 3, IW, 1, INFO )
00518          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00519          INFOT = 8
00520          CALL SSYEVD( 'N', 'U', 1, A, 1, X, W, 0, IW, 1, INFO )
00521          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00522          INFOT = 8
00523          CALL SSYEVD( 'N', 'U', 2, A, 2, X, W, 4, IW, 1, INFO )
00524          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00525          INFOT = 8
00526          CALL SSYEVD( 'V', 'U', 2, A, 2, X, W, 20, IW, 12, INFO )
00527          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00528          INFOT = 10
00529          CALL SSYEVD( 'N', 'U', 1, A, 1, X, W, 1, IW, 0, INFO )
00530          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00531          INFOT = 10
00532          CALL SSYEVD( 'N', 'U', 2, A, 2, X, W, 5, IW, 0, INFO )
00533          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00534          INFOT = 10
00535          CALL SSYEVD( 'V', 'U', 2, A, 2, X, W, 27, IW, 11, INFO )
00536          CALL CHKXER( 'SSYEVD', INFOT, NOUT, LERR, OK )
00537          NT = NT + 10
00538 *
00539 *        SSYEVR
00540 *
00541          SRNAMT = 'SSYEVR'
00542          N = 1
00543          INFOT = 1
00544          CALL SSYEVR( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
00545      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00546          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00547          INFOT = 2
00548          CALL SSYEVR( 'V', '/', 'U', 0, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
00549      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00550          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00551          INFOT = 3
00552          CALL SSYEVR( 'V', 'A', '/', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
00553      $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00554          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00555          INFOT = 4
00556          CALL SSYEVR( 'V', 'A', 'U', -1, A, 1, 0.0, 0.0, 1, 1, 0.0, M,
00557      $                R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00558          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00559          INFOT = 6
00560          CALL SSYEVR( 'V', 'A', 'U', 2, A, 1, 0.0, 0.0, 1, 1, 0.0, M, R,
00561      $                Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00562          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00563          INFOT = 8
00564          CALL SSYEVR( 'V', 'V', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
00565      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00566          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00567          INFOT = 9
00568          CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 0, 1, 0.0,
00569      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00570          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00571          INFOT = 10
00572 *
00573          CALL SSYEVR( 'V', 'I', 'U', 2, A, 2, 0.0E0, 0.0E0, 2, 1, 0.0,
00574      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00575          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00576          INFOT = 15
00577          CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
00578      $                M, R, Z, 0, IW, Q, 26*N, IW( 2*N+1 ), 10*N, INFO )
00579          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00580          INFOT = 18
00581          CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
00582      $                M, R, Z, 1, IW, Q, 26*N-1, IW( 2*N+1 ), 10*N,
00583      $                INFO )
00584          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00585          INFOT = 20
00586          CALL SSYEVR( 'V', 'I', 'U', 1, A, 1, 0.0E0, 0.0E0, 1, 1, 0.0,
00587      $                M, R, Z, 1, IW, Q, 26*N, IW( 2*N+1 ), 10*N-1,
00588      $                INFO )
00589          CALL CHKXER( 'SSYEVR', INFOT, NOUT, LERR, OK )
00590          NT = NT + 11
00591 *
00592 *        SSYEV
00593 *
00594          SRNAMT = 'SSYEV '
00595          INFOT = 1
00596          CALL SSYEV( '/', 'U', 0, A, 1, X, W, 1, INFO )
00597          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
00598          INFOT = 2
00599          CALL SSYEV( 'N', '/', 0, A, 1, X, W, 1, INFO )
00600          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
00601          INFOT = 3
00602          CALL SSYEV( 'N', 'U', -1, A, 1, X, W, 1, INFO )
00603          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
00604          INFOT = 5
00605          CALL SSYEV( 'N', 'U', 2, A, 1, X, W, 3, INFO )
00606          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
00607          INFOT = 8
00608          CALL SSYEV( 'N', 'U', 1, A, 1, X, W, 1, INFO )
00609          CALL CHKXER( 'SSYEV ', INFOT, NOUT, LERR, OK )
00610          NT = NT + 5
00611 *
00612 *        SSYEVX
00613 *
00614          SRNAMT = 'SSYEVX'
00615          INFOT = 1
00616          CALL SSYEVX( '/', 'A', 'U', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00617      $                Z, 1, W, 1, IW, I3, INFO )
00618          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00619          INFOT = 2
00620          CALL SSYEVX( 'N', '/', 'U', 0, A, 1, 0.0, 1.0, 1, 0, 0.0, M, X,
00621      $                Z, 1, W, 1, IW, I3, INFO )
00622          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00623          INFOT = 3
00624          CALL SSYEVX( 'N', 'A', '/', 0, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00625      $                Z, 1, W, 1, IW, I3, INFO )
00626          INFOT = 4
00627          CALL SSYEVX( 'N', 'A', 'U', -1, A, 1, 0.0, 0.0, 0, 0, 0.0, M,
00628      $                X, Z, 1, W, 1, IW, I3, INFO )
00629          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00630          INFOT = 6
00631          CALL SSYEVX( 'N', 'A', 'U', 2, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00632      $                Z, 1, W, 16, IW, I3, INFO )
00633          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00634          INFOT = 8
00635          CALL SSYEVX( 'N', 'V', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00636      $                Z, 1, W, 8, IW, I3, INFO )
00637          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00638          INFOT = 9
00639          CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00640      $                Z, 1, W, 8, IW, I3, INFO )
00641          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00642          INFOT = 9
00643          CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 2, 1, 0.0, M, X,
00644      $                Z, 1, W, 8, IW, I3, INFO )
00645          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00646          INFOT = 10
00647          CALL SSYEVX( 'N', 'I', 'U', 2, A, 2, 0.0, 0.0, 2, 1, 0.0, M, X,
00648      $                Z, 1, W, 16, IW, I3, INFO )
00649          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00650          INFOT = 10
00651          CALL SSYEVX( 'N', 'I', 'U', 1, A, 1, 0.0, 0.0, 1, 2, 0.0, M, X,
00652      $                Z, 1, W, 8, IW, I3, INFO )
00653          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00654          INFOT = 15
00655          CALL SSYEVX( 'V', 'A', 'U', 2, A, 2, 0.0, 0.0, 0, 0, 0.0, M, X,
00656      $                Z, 1, W, 16, IW, I3, INFO )
00657          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00658          INFOT = 17
00659          CALL SSYEVX( 'V', 'A', 'U', 1, A, 1, 0.0, 0.0, 0, 0, 0.0, M, X,
00660      $                Z, 1, W, 0, IW, I3, INFO )
00661          CALL CHKXER( 'SSYEVX', INFOT, NOUT, LERR, OK )
00662          NT = NT + 12
00663 *
00664 *        SSPEVD
00665 *
00666          SRNAMT = 'SSPEVD'
00667          INFOT = 1
00668          CALL SSPEVD( '/', 'U', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
00669          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00670          INFOT = 2
00671          CALL SSPEVD( 'N', '/', 0, A, X, Z, 1, W, 1, IW, 1, INFO )
00672          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00673          INFOT = 3
00674          CALL SSPEVD( 'N', 'U', -1, A, X, Z, 1, W, 1, IW, 1, INFO )
00675          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00676          INFOT = 7
00677          CALL SSPEVD( 'V', 'U', 2, A, X, Z, 1, W, 23, IW, 12, INFO )
00678          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00679          INFOT = 9
00680          CALL SSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 0, IW, 1, INFO )
00681          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00682          INFOT = 9
00683          CALL SSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 3, IW, 1, INFO )
00684          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00685          INFOT = 9
00686          CALL SSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 16, IW, 12, INFO )
00687          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00688          INFOT = 11
00689          CALL SSPEVD( 'N', 'U', 1, A, X, Z, 1, W, 1, IW, 0, INFO )
00690          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00691          INFOT = 11
00692          CALL SSPEVD( 'N', 'U', 2, A, X, Z, 1, W, 4, IW, 0, INFO )
00693          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00694          INFOT = 11
00695          CALL SSPEVD( 'V', 'U', 2, A, X, Z, 2, W, 23, IW, 11, INFO )
00696          CALL CHKXER( 'SSPEVD', INFOT, NOUT, LERR, OK )
00697          NT = NT + 10
00698 *
00699 *        SSPEV
00700 *
00701          SRNAMT = 'SSPEV '
00702          INFOT = 1
00703          CALL SSPEV( '/', 'U', 0, A, W, Z, 1, X, INFO )
00704          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
00705          INFOT = 2
00706          CALL SSPEV( 'N', '/', 0, A, W, Z, 1, X, INFO )
00707          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
00708          INFOT = 3
00709          CALL SSPEV( 'N', 'U', -1, A, W, Z, 1, X, INFO )
00710          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
00711          INFOT = 7
00712          CALL SSPEV( 'V', 'U', 2, A, W, Z, 1, X, INFO )
00713          CALL CHKXER( 'SSPEV ', INFOT, NOUT, LERR, OK )
00714          NT = NT + 4
00715 *
00716 *        SSPEVX
00717 *
00718          SRNAMT = 'SSPEVX'
00719          INFOT = 1
00720          CALL SSPEVX( '/', 'A', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00721      $                1, W, IW, I3, INFO )
00722          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00723          INFOT = 2
00724          CALL SSPEVX( 'N', '/', 'U', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00725      $                1, W, IW, I3, INFO )
00726          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00727          INFOT = 3
00728          CALL SSPEVX( 'N', 'A', '/', 0, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00729      $                1, W, IW, I3, INFO )
00730          INFOT = 4
00731          CALL SSPEVX( 'N', 'A', 'U', -1, A, 0.0, 0.0, 0, 0, 0.0, M, X,
00732      $                Z, 1, W, IW, I3, INFO )
00733          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00734          INFOT = 7
00735          CALL SSPEVX( 'N', 'V', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00736      $                1, W, IW, I3, INFO )
00737          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00738          INFOT = 8
00739          CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00740      $                1, W, IW, I3, INFO )
00741          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00742          INFOT = 8
00743          CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
00744      $                1, W, IW, I3, INFO )
00745          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00746          INFOT = 9
00747          CALL SSPEVX( 'N', 'I', 'U', 2, A, 0.0, 0.0, 2, 1, 0.0, M, X, Z,
00748      $                1, W, IW, I3, INFO )
00749          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00750          INFOT = 9
00751          CALL SSPEVX( 'N', 'I', 'U', 1, A, 0.0, 0.0, 1, 2, 0.0, M, X, Z,
00752      $                1, W, IW, I3, INFO )
00753          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00754          INFOT = 14
00755          CALL SSPEVX( 'V', 'A', 'U', 2, A, 0.0, 0.0, 0, 0, 0.0, M, X, Z,
00756      $                1, W, IW, I3, INFO )
00757          CALL CHKXER( 'SSPEVX', INFOT, NOUT, LERR, OK )
00758          NT = NT + 10
00759 *
00760 *     Test error exits for the SB path.
00761 *
00762       ELSE IF( LSAMEN( 2, C2, 'SB' ) ) THEN
00763 *
00764 *        SSBTRD
00765 *
00766          SRNAMT = 'SSBTRD'
00767          INFOT = 1
00768          CALL SSBTRD( '/', 'U', 0, 0, A, 1, D, E, Z, 1, W, INFO )
00769          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00770          INFOT = 2
00771          CALL SSBTRD( 'N', '/', 0, 0, A, 1, D, E, Z, 1, W, INFO )
00772          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00773          INFOT = 3
00774          CALL SSBTRD( 'N', 'U', -1, 0, A, 1, D, E, Z, 1, W, INFO )
00775          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00776          INFOT = 4
00777          CALL SSBTRD( 'N', 'U', 0, -1, A, 1, D, E, Z, 1, W, INFO )
00778          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00779          INFOT = 6
00780          CALL SSBTRD( 'N', 'U', 1, 1, A, 1, D, E, Z, 1, W, INFO )
00781          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00782          INFOT = 10
00783          CALL SSBTRD( 'V', 'U', 2, 0, A, 1, D, E, Z, 1, W, INFO )
00784          CALL CHKXER( 'SSBTRD', INFOT, NOUT, LERR, OK )
00785          NT = NT + 6
00786 *
00787 *        SSBEVD
00788 *
00789          SRNAMT = 'SSBEVD'
00790          INFOT = 1
00791          CALL SSBEVD( '/', 'U', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
00792          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00793          INFOT = 2
00794          CALL SSBEVD( 'N', '/', 0, 0, A, 1, X, Z, 1, W, 1, IW, 1, INFO )
00795          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00796          INFOT = 3
00797          CALL SSBEVD( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, 1, IW, 1,
00798      $                INFO )
00799          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00800          INFOT = 4
00801          CALL SSBEVD( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, 1, IW, 1,
00802      $                INFO )
00803          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00804          INFOT = 6
00805          CALL SSBEVD( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, 4, IW, 1, INFO )
00806          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00807          INFOT = 9
00808          CALL SSBEVD( 'V', 'U', 2, 1, A, 2, X, Z, 1, W, 25, IW, 12,
00809      $                INFO )
00810          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00811          INFOT = 11
00812          CALL SSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 0, IW, 1, INFO )
00813          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00814          INFOT = 11
00815          CALL SSBEVD( 'N', 'U', 2, 0, A, 1, X, Z, 1, W, 3, IW, 1, INFO )
00816          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00817          INFOT = 11
00818          CALL SSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 18, IW, 12,
00819      $                INFO )
00820          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00821          INFOT = 13
00822          CALL SSBEVD( 'N', 'U', 1, 0, A, 1, X, Z, 1, W, 1, IW, 0, INFO )
00823          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00824          INFOT = 13
00825          CALL SSBEVD( 'V', 'U', 2, 0, A, 1, X, Z, 2, W, 25, IW, 11,
00826      $                INFO )
00827          CALL CHKXER( 'SSBEVD', INFOT, NOUT, LERR, OK )
00828          NT = NT + 11
00829 *
00830 *        SSBEV
00831 *
00832          SRNAMT = 'SSBEV '
00833          INFOT = 1
00834          CALL SSBEV( '/', 'U', 0, 0, A, 1, X, Z, 1, W, INFO )
00835          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00836          INFOT = 2
00837          CALL SSBEV( 'N', '/', 0, 0, A, 1, X, Z, 1, W, INFO )
00838          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00839          INFOT = 3
00840          CALL SSBEV( 'N', 'U', -1, 0, A, 1, X, Z, 1, W, INFO )
00841          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00842          INFOT = 4
00843          CALL SSBEV( 'N', 'U', 0, -1, A, 1, X, Z, 1, W, INFO )
00844          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00845          INFOT = 6
00846          CALL SSBEV( 'N', 'U', 2, 1, A, 1, X, Z, 1, W, INFO )
00847          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00848          INFOT = 9
00849          CALL SSBEV( 'V', 'U', 2, 0, A, 1, X, Z, 1, W, INFO )
00850          CALL CHKXER( 'SSBEV ', INFOT, NOUT, LERR, OK )
00851          NT = NT + 6
00852 *
00853 *        SSBEVX
00854 *
00855          SRNAMT = 'SSBEVX'
00856          INFOT = 1
00857          CALL SSBEVX( '/', 'A', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00858      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00859          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00860          INFOT = 2
00861          CALL SSBEVX( 'N', '/', 'U', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00862      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00863          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00864          INFOT = 3
00865          CALL SSBEVX( 'N', 'A', '/', 0, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00866      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00867          INFOT = 4
00868          CALL SSBEVX( 'N', 'A', 'U', -1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00869      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00870          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00871          INFOT = 5
00872          CALL SSBEVX( 'N', 'A', 'U', 0, -1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00873      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00874          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00875          INFOT = 7
00876          CALL SSBEVX( 'N', 'A', 'U', 2, 1, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00877      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00878          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00879          INFOT = 9
00880          CALL SSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00881      $                0.0, M, X, Z, 2, W, IW, I3, INFO )
00882          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00883          INFOT = 11
00884          CALL SSBEVX( 'N', 'V', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00885      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00886          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00887          INFOT = 12
00888          CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 0, 0,
00889      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00890          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00891          INFOT = 12
00892          CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 2, 1,
00893      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00894          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00895          INFOT = 13
00896          CALL SSBEVX( 'N', 'I', 'U', 2, 0, A, 1, Q, 1, 0.0, 0.0, 2, 1,
00897      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00898          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00899          INFOT = 13
00900          CALL SSBEVX( 'N', 'I', 'U', 1, 0, A, 1, Q, 1, 0.0, 0.0, 1, 2,
00901      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00902          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00903          INFOT = 18
00904          CALL SSBEVX( 'V', 'A', 'U', 2, 0, A, 1, Q, 2, 0.0, 0.0, 0, 0,
00905      $                0.0, M, X, Z, 1, W, IW, I3, INFO )
00906          CALL CHKXER( 'SSBEVX', INFOT, NOUT, LERR, OK )
00907          NT = NT + 13
00908       END IF
00909 *
00910 *     Print a summary line.
00911 *
00912       IF( OK ) THEN
00913          WRITE( NOUT, FMT = 9999 )PATH, NT
00914       ELSE
00915          WRITE( NOUT, FMT = 9998 )PATH
00916       END IF
00917 *
00918  9999 FORMAT( 1X, A3, ' routines passed the tests of the error exits',
00919      $      ' (', I3, ' tests done)' )
00920  9998 FORMAT( ' *** ', A3, ' routines failed the tests of the error ',
00921      $      'exits ***' )
00922 *
00923       RETURN
00924 *
00925 *     End of SERRST
00926 *
00927       END
 All Files Functions