LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
serrvx.f
Go to the documentation of this file.
00001 *> \brief \b SERRVX
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 April 2012
00052 *
00053 *> \ingroup single_lin
00054 *
00055 *  =====================================================================
00056       SUBROUTINE SERRVX( PATH, NUNIT )
00057 *
00058 *  -- LAPACK test routine (version 3.4.1) --
00059 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00060 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00061 *     April 2012
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
00078       REAL               RCOND
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 )
00085 *     ..
00086 *     .. External Functions ..
00087       LOGICAL            LSAMEN
00088       EXTERNAL           LSAMEN
00089 *     ..
00090 *     .. External Subroutines ..
00091       EXTERNAL           CHKXER, SGBSV, SGBSVX, SGESV, SGESVX, SGTSV,
00092      $                   SGTSVX, SPBSV, SPBSVX, SPOSV, SPOSVX, SPPSV,
00093      $                   SPPSVX, SPTSV, SPTSVX, SSPSV, SSPSVX, SSYSV,
00094      $                   SSYSVX
00095 *     ..
00096 *     .. Scalars in Common ..
00097       LOGICAL            LERR, OK
00098       CHARACTER*32       SRNAMT
00099       INTEGER            INFOT, NOUT
00100 *     ..
00101 *     .. Common blocks ..
00102       COMMON             / INFOC / INFOT, NOUT, OK, LERR
00103       COMMON             / SRNAMC / SRNAMT
00104 *     ..
00105 *     .. Intrinsic Functions ..
00106       INTRINSIC          REAL
00107 *     ..
00108 *     .. Executable Statements ..
00109 *
00110       NOUT = NUNIT
00111       WRITE( NOUT, FMT = * )
00112       C2 = PATH( 2: 3 )
00113 *
00114 *     Set the variables to innocuous values.
00115 *
00116       DO 20 J = 1, NMAX
00117          DO 10 I = 1, NMAX
00118             A( I, J ) = 1. / REAL( I+J )
00119             AF( I, J ) = 1. / REAL( I+J )
00120    10    CONTINUE
00121          B( J ) = 0.
00122          R1( J ) = 0.
00123          R2( J ) = 0.
00124          W( J ) = 0.
00125          X( J ) = 0.
00126          C( J ) = 0.
00127          R( J ) = 0.
00128          IP( J ) = J
00129    20 CONTINUE
00130       EQ = ' '
00131       OK = .TRUE.
00132 *
00133       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00134 *
00135 *        SGESV
00136 *
00137          SRNAMT = 'SGESV '
00138          INFOT = 1
00139          CALL SGESV( -1, 0, A, 1, IP, B, 1, INFO )
00140          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00141          INFOT = 2
00142          CALL SGESV( 0, -1, A, 1, IP, B, 1, INFO )
00143          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00144          INFOT = 4
00145          CALL SGESV( 2, 1, A, 1, IP, B, 2, INFO )
00146          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00147          INFOT = 7
00148          CALL SGESV( 2, 1, A, 2, IP, B, 1, INFO )
00149          CALL CHKXER( 'SGESV ', INFOT, NOUT, LERR, OK )
00150 *
00151 *        SGESVX
00152 *
00153          SRNAMT = 'SGESVX'
00154          INFOT = 1
00155          CALL SGESVX( '/', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00156      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00157          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00158          INFOT = 2
00159          CALL SGESVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00160      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00161          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00162          INFOT = 3
00163          CALL SGESVX( 'N', 'N', -1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00164      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00165          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00166          INFOT = 4
00167          CALL SGESVX( 'N', 'N', 0, -1, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00168      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00169          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00170          INFOT = 6
00171          CALL SGESVX( 'N', 'N', 2, 1, A, 1, AF, 2, IP, EQ, R, C, B, 2,
00172      $                X, 2, RCOND, R1, R2, W, IW, INFO )
00173          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00174          INFOT = 8
00175          CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 1, IP, EQ, R, C, B, 2,
00176      $                X, 2, RCOND, R1, R2, W, IW, INFO )
00177          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00178          INFOT = 10
00179          EQ = '/'
00180          CALL SGESVX( 'F', 'N', 0, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00181      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00182          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00183          INFOT = 11
00184          EQ = 'R'
00185          CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00186      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00187          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00188          INFOT = 12
00189          EQ = 'C'
00190          CALL SGESVX( 'F', 'N', 1, 0, A, 1, AF, 1, IP, EQ, R, C, B, 1,
00191      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00192          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00193          INFOT = 14
00194          CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 1,
00195      $                X, 2, RCOND, R1, R2, W, IW, INFO )
00196          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00197          INFOT = 16
00198          CALL SGESVX( 'N', 'N', 2, 1, A, 2, AF, 2, IP, EQ, R, C, B, 2,
00199      $                X, 1, RCOND, R1, R2, W, IW, INFO )
00200          CALL CHKXER( 'SGESVX', INFOT, NOUT, LERR, OK )
00201 *
00202       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00203 *
00204 *        SGBSV
00205 *
00206          SRNAMT = 'SGBSV '
00207          INFOT = 1
00208          CALL SGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00209          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00210          INFOT = 2
00211          CALL SGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00212          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00213          INFOT = 3
00214          CALL SGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00215          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00216          INFOT = 4
00217          CALL SGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00218          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00219          INFOT = 6
00220          CALL SGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00221          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00222          INFOT = 9
00223          CALL SGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00224          CALL CHKXER( 'SGBSV ', INFOT, NOUT, LERR, OK )
00225 *
00226 *        SGBSVX
00227 *
00228          SRNAMT = 'SGBSVX'
00229          INFOT = 1
00230          CALL SGBSVX( '/', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00231      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00232          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00233          INFOT = 2
00234          CALL SGBSVX( 'N', '/', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00235      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00236          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00237          INFOT = 3
00238          CALL SGBSVX( 'N', 'N', -1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00239      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00240          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00241          INFOT = 4
00242          CALL SGBSVX( 'N', 'N', 1, -1, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00243      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00244          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00245          INFOT = 5
00246          CALL SGBSVX( 'N', 'N', 1, 0, -1, 0, A, 1, AF, 1, IP, EQ, R, C,
00247      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00248          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00249          INFOT = 6
00250          CALL SGBSVX( 'N', 'N', 0, 0, 0, -1, A, 1, AF, 1, IP, EQ, R, C,
00251      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00252          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00253          INFOT = 8
00254          CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 2, AF, 4, IP, EQ, R, C,
00255      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00256          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00257          INFOT = 10
00258          CALL SGBSVX( 'N', 'N', 1, 1, 1, 0, A, 3, AF, 3, IP, EQ, R, C,
00259      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00260          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00261          INFOT = 12
00262          EQ = '/'
00263          CALL SGBSVX( 'F', 'N', 0, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00264      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00265          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00266          INFOT = 13
00267          EQ = 'R'
00268          CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00269      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00270          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00271          INFOT = 14
00272          EQ = 'C'
00273          CALL SGBSVX( 'F', 'N', 1, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00274      $                B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00275          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00276          INFOT = 16
00277          CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00278      $                B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
00279          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00280          INFOT = 18
00281          CALL SGBSVX( 'N', 'N', 2, 0, 0, 0, A, 1, AF, 1, IP, EQ, R, C,
00282      $                B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
00283          CALL CHKXER( 'SGBSVX', INFOT, NOUT, LERR, OK )
00284 *
00285       ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00286 *
00287 *        SGTSV
00288 *
00289          SRNAMT = 'SGTSV '
00290          INFOT = 1
00291          CALL SGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00292      $               INFO )
00293          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00294          INFOT = 2
00295          CALL SGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00296      $               INFO )
00297          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00298          INFOT = 7
00299          CALL SGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00300          CALL CHKXER( 'SGTSV ', INFOT, NOUT, LERR, OK )
00301 *
00302 *        SGTSVX
00303 *
00304          SRNAMT = 'SGTSVX'
00305          INFOT = 1
00306          CALL SGTSVX( '/', 'N', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00307      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00308      $                IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00309          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00310          INFOT = 2
00311          CALL SGTSVX( 'N', '/', 0, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00312      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00313      $                IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00314          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00315          INFOT = 3
00316          CALL SGTSVX( 'N', 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00317      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00318      $                IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00319          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00320          INFOT = 4
00321          CALL SGTSVX( 'N', 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00322      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00323      $                IP, B, 1, X, 1, RCOND, R1, R2, W, IW, INFO )
00324          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00325          INFOT = 14
00326          CALL SGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00327      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00328      $                IP, B, 1, X, 2, RCOND, R1, R2, W, IW, INFO )
00329          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00330          INFOT = 16
00331          CALL SGTSVX( 'N', 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
00332      $                AF( 1, 1 ), AF( 1, 2 ), AF( 1, 3 ), AF( 1, 4 ),
00333      $                IP, B, 2, X, 1, RCOND, R1, R2, W, IW, INFO )
00334          CALL CHKXER( 'SGTSVX', INFOT, NOUT, LERR, OK )
00335 *
00336       ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00337 *
00338 *        SPOSV
00339 *
00340          SRNAMT = 'SPOSV '
00341          INFOT = 1
00342          CALL SPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00343          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00344          INFOT = 2
00345          CALL SPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00346          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00347          INFOT = 3
00348          CALL SPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00349          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00350          INFOT = 5
00351          CALL SPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00352          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00353          INFOT = 7
00354          CALL SPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00355          CALL CHKXER( 'SPOSV ', INFOT, NOUT, LERR, OK )
00356 *
00357 *        SPOSVX
00358 *
00359          SRNAMT = 'SPOSVX'
00360          INFOT = 1
00361          CALL SPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00362      $                RCOND, R1, R2, W, IW, INFO )
00363          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00364          INFOT = 2
00365          CALL SPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00366      $                RCOND, R1, R2, W, IW, INFO )
00367          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00368          INFOT = 3
00369          CALL SPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00370      $                RCOND, R1, R2, W, IW, INFO )
00371          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00372          INFOT = 4
00373          CALL SPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00374      $                RCOND, R1, R2, W, IW, INFO )
00375          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00376          INFOT = 6
00377          CALL SPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00378      $                RCOND, R1, R2, W, IW, INFO )
00379          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00380          INFOT = 8
00381          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00382      $                RCOND, R1, R2, W, IW, INFO )
00383          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00384          INFOT = 9
00385          EQ = '/'
00386          CALL SPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00387      $                RCOND, R1, R2, W, IW, INFO )
00388          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00389          INFOT = 10
00390          EQ = 'Y'
00391          CALL SPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00392      $                RCOND, R1, R2, W, IW, INFO )
00393          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00394          INFOT = 12
00395          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00396      $                RCOND, R1, R2, W, IW, INFO )
00397          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00398          INFOT = 14
00399          CALL SPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00400      $                RCOND, R1, R2, W, IW, INFO )
00401          CALL CHKXER( 'SPOSVX', INFOT, NOUT, LERR, OK )
00402 *
00403       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00404 *
00405 *        SPPSV
00406 *
00407          SRNAMT = 'SPPSV '
00408          INFOT = 1
00409          CALL SPPSV( '/', 0, 0, A, B, 1, INFO )
00410          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00411          INFOT = 2
00412          CALL SPPSV( 'U', -1, 0, A, B, 1, INFO )
00413          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00414          INFOT = 3
00415          CALL SPPSV( 'U', 0, -1, A, B, 1, INFO )
00416          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00417          INFOT = 6
00418          CALL SPPSV( 'U', 2, 0, A, B, 1, INFO )
00419          CALL CHKXER( 'SPPSV ', INFOT, NOUT, LERR, OK )
00420 *
00421 *        SPPSVX
00422 *
00423          SRNAMT = 'SPPSVX'
00424          INFOT = 1
00425          CALL SPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00426      $                R1, R2, W, IW, INFO )
00427          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00428          INFOT = 2
00429          CALL SPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00430      $                R1, R2, W, IW, INFO )
00431          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00432          INFOT = 3
00433          CALL SPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00434      $                R1, R2, W, IW, INFO )
00435          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00436          INFOT = 4
00437          CALL SPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00438      $                R1, R2, W, IW, INFO )
00439          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00440          INFOT = 7
00441          EQ = '/'
00442          CALL SPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00443      $                R1, R2, W, IW, INFO )
00444          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00445          INFOT = 8
00446          EQ = 'Y'
00447          CALL SPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00448      $                R1, R2, W, IW, INFO )
00449          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00450          INFOT = 10
00451          CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00452      $                R1, R2, W, IW, INFO )
00453          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00454          INFOT = 12
00455          CALL SPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00456      $                R1, R2, W, IW, INFO )
00457          CALL CHKXER( 'SPPSVX', INFOT, NOUT, LERR, OK )
00458 *
00459       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00460 *
00461 *        SPBSV
00462 *
00463          SRNAMT = 'SPBSV '
00464          INFOT = 1
00465          CALL SPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00466          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00467          INFOT = 2
00468          CALL SPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00469          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00470          INFOT = 3
00471          CALL SPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00472          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00473          INFOT = 4
00474          CALL SPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00475          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00476          INFOT = 6
00477          CALL SPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00478          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00479          INFOT = 8
00480          CALL SPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00481          CALL CHKXER( 'SPBSV ', INFOT, NOUT, LERR, OK )
00482 *
00483 *        SPBSVX
00484 *
00485          SRNAMT = 'SPBSVX'
00486          INFOT = 1
00487          CALL SPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00488      $                RCOND, R1, R2, W, IW, INFO )
00489          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00490          INFOT = 2
00491          CALL SPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00492      $                RCOND, R1, R2, W, IW, INFO )
00493          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00494          INFOT = 3
00495          CALL SPBSVX( 'N', 'U', -1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00496      $                1, RCOND, R1, R2, W, IW, INFO )
00497          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00498          INFOT = 4
00499          CALL SPBSVX( 'N', 'U', 1, -1, 0, A, 1, AF, 1, EQ, C, B, 1, X,
00500      $                1, RCOND, R1, R2, W, IW, INFO )
00501          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00502          INFOT = 5
00503          CALL SPBSVX( 'N', 'U', 0, 0, -1, A, 1, AF, 1, EQ, C, B, 1, X,
00504      $                1, RCOND, R1, R2, W, IW, INFO )
00505          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00506          INFOT = 7
00507          CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00508      $                RCOND, R1, R2, W, IW, INFO )
00509          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00510          INFOT = 9
00511          CALL SPBSVX( 'N', 'U', 1, 1, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00512      $                RCOND, R1, R2, W, IW, INFO )
00513          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00514          INFOT = 10
00515          EQ = '/'
00516          CALL SPBSVX( 'F', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00517      $                RCOND, R1, R2, W, IW, INFO )
00518          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00519          INFOT = 11
00520          EQ = 'Y'
00521          CALL SPBSVX( 'F', 'U', 1, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00522      $                RCOND, R1, R2, W, IW, INFO )
00523          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00524          INFOT = 13
00525          CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 2,
00526      $                RCOND, R1, R2, W, IW, INFO )
00527          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00528          INFOT = 15
00529          CALL SPBSVX( 'N', 'U', 2, 0, 0, A, 1, AF, 1, EQ, C, B, 2, X, 1,
00530      $                RCOND, R1, R2, W, IW, INFO )
00531          CALL CHKXER( 'SPBSVX', INFOT, NOUT, LERR, OK )
00532 *
00533       ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00534 *
00535 *        SPTSV
00536 *
00537          SRNAMT = 'SPTSV '
00538          INFOT = 1
00539          CALL SPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00540          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00541          INFOT = 2
00542          CALL SPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00543          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00544          INFOT = 6
00545          CALL SPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00546          CALL CHKXER( 'SPTSV ', INFOT, NOUT, LERR, OK )
00547 *
00548 *        SPTSVX
00549 *
00550          SRNAMT = 'SPTSVX'
00551          INFOT = 1
00552          CALL SPTSVX( '/', 0, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00553      $                AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00554          CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00555          INFOT = 2
00556          CALL SPTSVX( 'N', -1, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00557      $                AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00558          CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00559          INFOT = 3
00560          CALL SPTSVX( 'N', 0, -1, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00561      $                AF( 1, 2 ), B, 1, X, 1, RCOND, R1, R2, W, INFO )
00562          CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00563          INFOT = 9
00564          CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00565      $                AF( 1, 2 ), B, 1, X, 2, RCOND, R1, R2, W, INFO )
00566          CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00567          INFOT = 11
00568          CALL SPTSVX( 'N', 2, 0, A( 1, 1 ), A( 1, 2 ), AF( 1, 1 ),
00569      $                AF( 1, 2 ), B, 2, X, 1, RCOND, R1, R2, W, INFO )
00570          CALL CHKXER( 'SPTSVX', INFOT, NOUT, LERR, OK )
00571 *
00572       ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00573 *
00574 *        SSYSV
00575 *
00576          SRNAMT = 'SSYSV '
00577          INFOT = 1
00578          CALL SSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00579          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00580          INFOT = 2
00581          CALL SSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00582          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00583          INFOT = 3
00584          CALL SSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00585          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00586          INFOT = 8
00587          CALL SSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00588          CALL CHKXER( 'SSYSV ', INFOT, NOUT, LERR, OK )
00589 *
00590 *        SSYSVX
00591 *
00592          SRNAMT = 'SSYSVX'
00593          INFOT = 1
00594          CALL SSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00595      $                RCOND, R1, R2, W, 1, IW, INFO )
00596          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00597          INFOT = 2
00598          CALL SSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00599      $                RCOND, R1, R2, W, 1, IW, INFO )
00600          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00601          INFOT = 3
00602          CALL SSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00603      $                RCOND, R1, R2, W, 1, IW, INFO )
00604          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00605          INFOT = 4
00606          CALL SSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00607      $                RCOND, R1, R2, W, 1, IW, INFO )
00608          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00609          INFOT = 6
00610          CALL SSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00611      $                RCOND, R1, R2, W, 4, IW, INFO )
00612          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00613          INFOT = 8
00614          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00615      $                RCOND, R1, R2, W, 4, IW, INFO )
00616          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00617          INFOT = 11
00618          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00619      $                RCOND, R1, R2, W, 4, IW, INFO )
00620          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00621          INFOT = 13
00622          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00623      $                RCOND, R1, R2, W, 4, IW, INFO )
00624          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00625          INFOT = 18
00626          CALL SSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00627      $                RCOND, R1, R2, W, 3, IW, INFO )
00628          CALL CHKXER( 'SSYSVX', INFOT, NOUT, LERR, OK )
00629 *
00630       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
00631 *
00632 *        SSPSV
00633 *
00634          SRNAMT = 'SSPSV '
00635          INFOT = 1
00636          CALL SSPSV( '/', 0, 0, A, IP, B, 1, INFO )
00637          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00638          INFOT = 2
00639          CALL SSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00640          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00641          INFOT = 3
00642          CALL SSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00643          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00644          INFOT = 7
00645          CALL SSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00646          CALL CHKXER( 'SSPSV ', INFOT, NOUT, LERR, OK )
00647 *
00648 *        SSPSVX
00649 *
00650          SRNAMT = 'SSPSVX'
00651          INFOT = 1
00652          CALL SSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00653      $                R2, W, IW, INFO )
00654          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00655          INFOT = 2
00656          CALL SSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00657      $                R2, W, IW, INFO )
00658          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00659          INFOT = 3
00660          CALL SSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00661      $                R2, W, IW, INFO )
00662          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00663          INFOT = 4
00664          CALL SSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00665      $                R2, W, IW, INFO )
00666          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00667          INFOT = 9
00668          CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00669      $                R2, W, IW, INFO )
00670          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00671          INFOT = 11
00672          CALL SSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00673      $                R2, W, IW, INFO )
00674          CALL CHKXER( 'SSPSVX', INFOT, NOUT, LERR, OK )
00675       END IF
00676 *
00677 *     Print a summary line.
00678 *
00679       IF( OK ) THEN
00680          WRITE( NOUT, FMT = 9999 )PATH
00681       ELSE
00682          WRITE( NOUT, FMT = 9998 )PATH
00683       END IF
00684 *
00685  9999 FORMAT( 1X, A3, ' drivers passed the tests of the error exits' )
00686  9998 FORMAT( ' *** ', A3, ' drivers failed the tests of the error ',
00687      $      'exits ***' )
00688 *
00689       RETURN
00690 *
00691 *     End of SERRVX
00692 *
00693       END
 All Files Functions