LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
serrvxx.f
Go to the documentation of this file.
00001 *> \brief \b SERRVXX
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 SERRVX( 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 *> SERRVX tests the error exits for the REAL 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 single_lin
00054 *
00055 *  =====================================================================
00056       SUBROUTINE SERRVX( 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       REAL               RCOND, RPVGRW, BERR
00079 *     ..
00080 *     .. Local Arrays ..
00081       INTEGER            IP( NMAX ), IW( NMAX )
00082       REAL               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, SGBSV, SGBSVX, SGESV, SGESVX, SGTSV,
00093      $                   SGTSVX, SPBSV, SPBSVX, SPOSV, SPOSVX, SPPSV,
00094      $                   SPPSVX, SPTSV, SPTSVX, SSPSV, SSPSVX, SSYSV,
00095      $                   SSYSVX, SGESVXX, SSYSVXX, SPOSVXX, SGBSVXX
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          REAL
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. / REAL( I+J )
00120             AF( I, J ) = 1. / REAL( I+J )
00121    10    CONTINUE
00122          B( J ) = 0.
00123          R1( J ) = 0.
00124          R2( J ) = 0.
00125          W( J ) = 0.
00126          X( J ) = 0.
00127          C( J ) = 0.
00128          R( J ) = 0.
00129          IP( J ) = J
00130    20 CONTINUE
00131       EQ = ' '
00132       OK = .TRUE.
00133 *
00134       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00135 *
00136 *        SGESV
00137 *
00138          SRNAMT = 'SGESV '
00139          INFOT = 1
00140          CALL SGESV( -1, 0, A, 1, IP, B, 1, INFO )
00141          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00142          INFOT = 2
00143          CALL SGESV( 0, -1, A, 1, IP, B, 1, INFO )
00144          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00145          INFOT = 4
00146          CALL SGESV( 2, 1, A, 1, IP, B, 2, INFO )
00147          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00148          INFOT = 7
00149          CALL SGESV( 2, 1, A, 2, IP, B, 1, INFO )
00150          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00151 *
00152 *        SGESVX
00153 *
00154          SRNAMT = 'SGESVX'
00155          INFOT = 1
00156          CALL SGESVX( '/', '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00159          INFOT = 2
00160          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00163          INFOT = 3
00164          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00167          INFOT = 4
00168          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00171          INFOT = 6
00172          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00175          INFOT = 8
00176          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00179          INFOT = 10
00180          EQ = '/'
00181          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00184          INFOT = 11
00185          EQ = 'R'
00186          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00189          INFOT = 12
00190          EQ = 'C'
00191          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00194          INFOT = 14
00195          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00198          INFOT = 16
00199          CALL SGESVX( '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( 'SGESVX', INFOT, NOUT, LERR, OK )
00202 *
00203 *        SGESVXX
00204 *
00205          N_ERR_BNDS = 3
00206          NPARAMS = 1
00207          SRNAMT = 'SGESVXX'
00208          INFOT = 1
00209          CALL SGESVXX( '/', '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00213          INFOT = 2
00214          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00218          INFOT = 3
00219          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00223          INFOT = 4
00224          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00228          INFOT = 6
00229          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00233          INFOT = 8
00234          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00238          INFOT = 10
00239          EQ = '/'
00240          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00244          INFOT = 11
00245          EQ = 'R'
00246          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00250          INFOT = 12
00251          EQ = 'C'
00252          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00256          INFOT = 14
00257          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00261          INFOT = 16
00262          CALL SGESVXX( '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( 'SGESVXX', INFOT, NOUT, LERR, OK )
00266 *
00267       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00268 *
00269 *        SGBSV
00270 *
00271          SRNAMT = 'SGBSV '
00272          INFOT = 1
00273          CALL SGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00274          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00275          INFOT = 2
00276          CALL SGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00277          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00278          INFOT = 3
00279          CALL SGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00280          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00281          INFOT = 4
00282          CALL SGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00283          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00284          INFOT = 6
00285          CALL SGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00286          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00287          INFOT = 9
00288          CALL SGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00289          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00290 *
00291 *        SGBSVX
00292 *
00293          SRNAMT = 'SGBSVX'
00294          INFOT = 1
00295          CALL SGBSVX( '/', '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00298          INFOT = 2
00299          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00302          INFOT = 3
00303          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00306          INFOT = 4
00307          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00310          INFOT = 5
00311          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00314          INFOT = 6
00315          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00318          INFOT = 8
00319          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00322          INFOT = 10
00323          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00326          INFOT = 12
00327          EQ = '/'
00328          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00331          INFOT = 13
00332          EQ = 'R'
00333          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00336          INFOT = 14
00337          EQ = 'C'
00338          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00341          INFOT = 16
00342          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00345          INFOT = 18
00346          CALL SGBSVX( '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( 'SGBSVX', INFOT, NOUT, LERR, OK )
00349 *
00350 *        SGBSVXX
00351 *
00352          N_ERR_BNDS = 3
00353          NPARAMS = 1
00354          SRNAMT = 'SGBSVXX'
00355          INFOT = 1
00356          CALL SGBSVXX( '/', '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00361          INFOT = 2
00362          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00367          INFOT = 3
00368          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00373          INFOT = 4
00374          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00379          INFOT = 5
00380          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00385          INFOT = 6
00386          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00391          INFOT = 8
00392          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00397          INFOT = 10
00398          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00403          INFOT = 12
00404          EQ = '/'
00405          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00410          INFOT = 13
00411          EQ = 'R'
00412          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00417          INFOT = 14
00418          EQ = 'C'
00419          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00424          INFOT = 15
00425          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00430          INFOT = 16
00431          CALL SGBSVXX( '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( 'SGBSVXX', INFOT, NOUT, LERR, OK )
00436 *
00437       ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00438 *
00439 *        SGTSV
00440 *
00441          SRNAMT = 'SGTSV '
00442          INFOT = 1
00443          CALL SGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00444      $               INFO )
00445          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00446          INFOT = 2
00447          CALL SGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00448      $               INFO )
00449          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00450          INFOT = 7
00451          CALL SGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00452          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00453 *
00454 *        SGTSVX
00455 *
00456          SRNAMT = 'SGTSVX'
00457          INFOT = 1
00458          CALL SGTSVX( '/', '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00462          INFOT = 2
00463          CALL SGTSVX( '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00467          INFOT = 3
00468          CALL SGTSVX( '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00472          INFOT = 4
00473          CALL SGTSVX( '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00477          INFOT = 14
00478          CALL SGTSVX( '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00482          INFOT = 16
00483          CALL SGTSVX( '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( 'SGTSVX', INFOT, NOUT, LERR, OK )
00487 *
00488       ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00489 *
00490 *        SPOSV
00491 *
00492          SRNAMT = 'SPOSV '
00493          INFOT = 1
00494          CALL SPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00495          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00496          INFOT = 2
00497          CALL SPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00498          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00499          INFOT = 3
00500          CALL SPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00501          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00502          INFOT = 5
00503          CALL SPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00504          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00505          INFOT = 7
00506          CALL SPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00507          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00508 *
00509 *        SPOSVX
00510 *
00511          SRNAMT = 'SPOSVX'
00512          INFOT = 1
00513          CALL SPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00514      $                RCOND, R1, R2, W, IW, INFO )
00515          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00516          INFOT = 2
00517          CALL SPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00518      $                RCOND, R1, R2, W, IW, INFO )
00519          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00520          INFOT = 3
00521          CALL SPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00522      $                RCOND, R1, R2, W, IW, INFO )
00523          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00524          INFOT = 4
00525          CALL SPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00526      $                RCOND, R1, R2, W, IW, INFO )
00527          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00528          INFOT = 6
00529          CALL SPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00530      $                RCOND, R1, R2, W, IW, INFO )
00531          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00532          INFOT = 8
00533          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00534      $                RCOND, R1, R2, W, IW, INFO )
00535          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00536          INFOT = 9
00537          EQ = '/'
00538          CALL SPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00539      $                RCOND, R1, R2, W, IW, INFO )
00540          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00541          INFOT = 10
00542          EQ = 'Y'
00543          CALL SPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00544      $                RCOND, R1, R2, W, IW, INFO )
00545          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00546          INFOT = 12
00547          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00548      $                RCOND, R1, R2, W, IW, INFO )
00549          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00550          INFOT = 14
00551          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00552      $                RCOND, R1, R2, W, IW, INFO )
00553          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00554 *
00555 *        SPOSVXX
00556 *
00557          N_ERR_BNDS = 3
00558          NPARAMS = 1
00559          SRNAMT = 'SPOSVXX'
00560          INFOT = 1
00561          CALL SPOSVXX( '/', '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00565          INFOT = 2
00566          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00570          INFOT = 3
00571          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00575          INFOT = 4
00576          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00580          INFOT = 6
00581          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00585          INFOT = 8
00586          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00590          INFOT = 9
00591          EQ = '/'
00592          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00596          INFOT = 10
00597          EQ = 'Y'
00598          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00602          INFOT = 12
00603          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00607          INFOT = 14
00608          CALL SPOSVXX( '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( 'SPOSVXX', INFOT, NOUT, LERR, OK )
00612 *
00613       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00614 *
00615 *        SPPSV
00616 *
00617          SRNAMT = 'SPPSV '
00618          INFOT = 1
00619          CALL SPPSV( '/', 0, 0, A, B, 1, INFO )
00620          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00621          INFOT = 2
00622          CALL SPPSV( 'U', -1, 0, A, B, 1, INFO )
00623          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00624          INFOT = 3
00625          CALL SPPSV( 'U', 0, -1, A, B, 1, INFO )
00626          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00627          INFOT = 6
00628          CALL SPPSV( 'U', 2, 0, A, B, 1, INFO )
00629          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00630 *
00631 *        SPPSVX
00632 *
00633          SRNAMT = 'SPPSVX'
00634          INFOT = 1
00635          CALL SPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00636      $                R1, R2, W, IW, INFO )
00637          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00638          INFOT = 2
00639          CALL SPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00640      $                R1, R2, W, IW, INFO )
00641          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00642          INFOT = 3
00643          CALL SPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00644      $                R1, R2, W, IW, INFO )
00645          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00646          INFOT = 4
00647          CALL SPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00648      $                R1, R2, W, IW, INFO )
00649          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00650          INFOT = 7
00651          EQ = '/'
00652          CALL SPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00653      $                R1, R2, W, IW, INFO )
00654          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00655          INFOT = 8
00656          EQ = 'Y'
00657          CALL SPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00658      $                R1, R2, W, IW, INFO )
00659          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00660          INFOT = 10
00661          CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00662      $                R1, R2, W, IW, INFO )
00663          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00664          INFOT = 12
00665          CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00666      $                R1, R2, W, IW, INFO )
00667          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00668 *
00669       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00670 *
00671 *        SPBSV
00672 *
00673          SRNAMT = 'SPBSV '
00674          INFOT = 1
00675          CALL SPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00676          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00677          INFOT = 2
00678          CALL SPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00679          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00680          INFOT = 3
00681          CALL SPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00682          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00683          INFOT = 4
00684          CALL SPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00685          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00686          INFOT = 6
00687          CALL SPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00688          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00689          INFOT = 8
00690          CALL SPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00691          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00692 *
00693 *        SPBSVX
00694 *
00695          SRNAMT = 'SPBSVX'
00696          INFOT = 1
00697          CALL SPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00698      $                RCOND, R1, R2, W, IW, INFO )
00699          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00700          INFOT = 2
00701          CALL SPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00702      $                RCOND, R1, R2, W, IW, INFO )
00703          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00704          INFOT = 3
00705          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00708          INFOT = 4
00709          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00712          INFOT = 5
00713          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00716          INFOT = 7
00717          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00720          INFOT = 9
00721          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00724          INFOT = 10
00725          EQ = '/'
00726          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00729          INFOT = 11
00730          EQ = 'Y'
00731          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00734          INFOT = 13
00735          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00738          INFOT = 15
00739          CALL SPBSVX( '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( 'SPBSVX', INFOT, NOUT, LERR, OK )
00742 *
00743       ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00744 *
00745 *        SPTSV
00746 *
00747          SRNAMT = 'SPTSV '
00748          INFOT = 1
00749          CALL SPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00750          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00751          INFOT = 2
00752          CALL SPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00753          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00754          INFOT = 6
00755          CALL SPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00756          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00757 *
00758 *        SPTSVX
00759 *
00760          SRNAMT = 'SPTSVX'
00761          INFOT = 1
00762          CALL SPTSVX( '/', 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( 'SPTSVX', INFOT, NOUT, LERR, OK )
00765          INFOT = 2
00766          CALL SPTSVX( '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( 'SPTSVX', INFOT, NOUT, LERR, OK )
00769          INFOT = 3
00770          CALL SPTSVX( '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( 'SPTSVX', INFOT, NOUT, LERR, OK )
00773          INFOT = 9
00774          CALL SPTSVX( '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( 'SPTSVX', INFOT, NOUT, LERR, OK )
00777          INFOT = 11
00778          CALL SPTSVX( '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( 'SPTSVX', INFOT, NOUT, LERR, OK )
00781 *
00782       ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00783 *
00784 *        SSYSV
00785 *
00786          SRNAMT = 'SSYSV '
00787          INFOT = 1
00788          CALL SSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00789          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00790          INFOT = 2
00791          CALL SSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00792          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00793          INFOT = 3
00794          CALL SSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00795          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00796          INFOT = 8
00797          CALL SSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00798          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00799 *
00800 *        SSYSVX
00801 *
00802          SRNAMT = 'SSYSVX'
00803          INFOT = 1
00804          CALL SSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00805      $                RCOND, R1, R2, W, 1, IW, INFO )
00806          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00807          INFOT = 2
00808          CALL SSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00809      $                RCOND, R1, R2, W, 1, IW, INFO )
00810          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00811          INFOT = 3
00812          CALL SSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00813      $                RCOND, R1, R2, W, 1, IW, INFO )
00814          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00815          INFOT = 4
00816          CALL SSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00817      $                RCOND, R1, R2, W, 1, IW, INFO )
00818          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00819          INFOT = 6
00820          CALL SSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00821      $                RCOND, R1, R2, W, 4, IW, INFO )
00822          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00823          INFOT = 8
00824          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00825      $                RCOND, R1, R2, W, 4, IW, INFO )
00826          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00827          INFOT = 11
00828          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00829      $                RCOND, R1, R2, W, 4, IW, INFO )
00830          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00831          INFOT = 13
00832          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00833      $                RCOND, R1, R2, W, 4, IW, INFO )
00834          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00835          INFOT = 18
00836          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00837      $                RCOND, R1, R2, W, 3, IW, INFO )
00838          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00839 *
00840 *        SSYSVXX
00841 *
00842          N_ERR_BNDS = 3
00843          NPARAMS = 1
00844          SRNAMT = 'SSYSVXX'
00845          INFOT = 1
00846          EQ = 'N'
00847          CALL SSYSVXX( '/', '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00851          INFOT = 2
00852          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00856          INFOT = 3
00857          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00861          INFOT = 4
00862          EQ = '/'
00863          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00867          EQ = 'Y'
00868          INFOT = 6
00869          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00873          INFOT = 8
00874          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00878          INFOT = 12
00879          EQ = 'N'
00880          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00884          INFOT = 14
00885          CALL SSYSVXX( '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( 'SSYSVXX', INFOT, NOUT, LERR, OK )
00889 *
00890       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
00891 *
00892 *        SSPSV
00893 *
00894          SRNAMT = 'SSPSV '
00895          INFOT = 1
00896          CALL SSPSV( '/', 0, 0, A, IP, B, 1, INFO )
00897          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00898          INFOT = 2
00899          CALL SSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00900          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00901          INFOT = 3
00902          CALL SSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00903          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00904          INFOT = 7
00905          CALL SSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00906          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00907 *
00908 *        SSPSVX
00909 *
00910          SRNAMT = 'SSPSVX'
00911          INFOT = 1
00912          CALL SSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00913      $                R2, W, IW, INFO )
00914          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00915          INFOT = 2
00916          CALL SSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00917      $                R2, W, IW, INFO )
00918          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00919          INFOT = 3
00920          CALL SSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00921      $                R2, W, IW, INFO )
00922          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00923          INFOT = 4
00924          CALL SSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00925      $                R2, W, IW, INFO )
00926          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00927          INFOT = 9
00928          CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00929      $                R2, W, IW, INFO )
00930          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00931          INFOT = 11
00932          CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00933      $                R2, W, IW, INFO )
00934          CALL CHKXER( 'SSPSVX', 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 SERRVX
00952 *
00953       END
 All Files Functions