LAPACK 3.3.0

derrvxx.f

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