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