LAPACK 3.3.0

derrst.f

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