LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
derrvx.f
Go to the documentation of this file.
00001 *> \brief \b DERRVX
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 April 2012
00052 *
00053 *> \ingroup double_lin
00054 *
00055 *  =====================================================================
00056       SUBROUTINE DERRVX( 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       DOUBLE PRECISION   RCOND
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 )
00085 *     ..
00086 *     .. External Functions ..
00087       LOGICAL            LSAMEN
00088       EXTERNAL           LSAMEN
00089 *     ..
00090 *     .. External Subroutines ..
00091       EXTERNAL           CHKXER, DGBSV, DGBSVX, DGESV, DGESVX, DGTSV,
00092      $                   DGTSVX, DPBSV, DPBSVX, DPOSV, DPOSVX, DPPSV,
00093      $                   DPPSVX, DPTSV, DPTSVX, DSPSV, DSPSVX, DSYSV,
00094      $                   DSYSVX
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          DBLE
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.D0 / DBLE( I+J )
00119             AF( I, J ) = 1.D0 / DBLE( I+J )
00120    10    CONTINUE
00121          B( J ) = 0.D0
00122          R1( J ) = 0.D0
00123          R2( J ) = 0.D0
00124          W( J ) = 0.D0
00125          X( J ) = 0.D0
00126          C( J ) = 0.D0
00127          R( J ) = 0.D0
00128          IP( J ) = J
00129    20 CONTINUE
00130       EQ = ' '
00131       OK = .TRUE.
00132 *
00133       IF( LSAMEN( 2, C2, 'GE' ) ) THEN
00134 *
00135 *        DGESV
00136 *
00137          SRNAMT = 'DGESV '
00138          INFOT = 1
00139          CALL DGESV( -1, 0, A, 1, IP, B, 1, INFO )
00140          CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
00141          INFOT = 2
00142          CALL DGESV( 0, -1, A, 1, IP, B, 1, INFO )
00143          CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
00144          INFOT = 4
00145          CALL DGESV( 2, 1, A, 1, IP, B, 2, INFO )
00146          CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
00147          INFOT = 7
00148          CALL DGESV( 2, 1, A, 2, IP, B, 1, INFO )
00149          CALL CHKXER( 'DGESV ', INFOT, NOUT, LERR, OK )
00150 *
00151 *        DGESVX
00152 *
00153          SRNAMT = 'DGESVX'
00154          INFOT = 1
00155          CALL DGESVX( '/', '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00158          INFOT = 2
00159          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00162          INFOT = 3
00163          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00166          INFOT = 4
00167          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00170          INFOT = 6
00171          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00174          INFOT = 8
00175          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00178          INFOT = 10
00179          EQ = '/'
00180          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00183          INFOT = 11
00184          EQ = 'R'
00185          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00188          INFOT = 12
00189          EQ = 'C'
00190          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00193          INFOT = 14
00194          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00197          INFOT = 16
00198          CALL DGESVX( '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( 'DGESVX', INFOT, NOUT, LERR, OK )
00201 *
00202       ELSE IF( LSAMEN( 2, C2, 'GB' ) ) THEN
00203 *
00204 *        DGBSV
00205 *
00206          SRNAMT = 'DGBSV '
00207          INFOT = 1
00208          CALL DGBSV( -1, 0, 0, 0, A, 1, IP, B, 1, INFO )
00209          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00210          INFOT = 2
00211          CALL DGBSV( 1, -1, 0, 0, A, 1, IP, B, 1, INFO )
00212          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00213          INFOT = 3
00214          CALL DGBSV( 1, 0, -1, 0, A, 1, IP, B, 1, INFO )
00215          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00216          INFOT = 4
00217          CALL DGBSV( 0, 0, 0, -1, A, 1, IP, B, 1, INFO )
00218          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00219          INFOT = 6
00220          CALL DGBSV( 1, 1, 1, 0, A, 3, IP, B, 1, INFO )
00221          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00222          INFOT = 9
00223          CALL DGBSV( 2, 0, 0, 0, A, 1, IP, B, 1, INFO )
00224          CALL CHKXER( 'DGBSV ', INFOT, NOUT, LERR, OK )
00225 *
00226 *        DGBSVX
00227 *
00228          SRNAMT = 'DGBSVX'
00229          INFOT = 1
00230          CALL DGBSVX( '/', '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00233          INFOT = 2
00234          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00237          INFOT = 3
00238          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00241          INFOT = 4
00242          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00245          INFOT = 5
00246          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00249          INFOT = 6
00250          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00253          INFOT = 8
00254          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00257          INFOT = 10
00258          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00261          INFOT = 12
00262          EQ = '/'
00263          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00266          INFOT = 13
00267          EQ = 'R'
00268          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00271          INFOT = 14
00272          EQ = 'C'
00273          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00276          INFOT = 16
00277          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00280          INFOT = 18
00281          CALL DGBSVX( '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( 'DGBSVX', INFOT, NOUT, LERR, OK )
00284 *
00285       ELSE IF( LSAMEN( 2, C2, 'GT' ) ) THEN
00286 *
00287 *        DGTSV
00288 *
00289          SRNAMT = 'DGTSV '
00290          INFOT = 1
00291          CALL DGTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00292      $               INFO )
00293          CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
00294          INFOT = 2
00295          CALL DGTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1,
00296      $               INFO )
00297          CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
00298          INFOT = 7
00299          CALL DGTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ), B, 1, INFO )
00300          CALL CHKXER( 'DGTSV ', INFOT, NOUT, LERR, OK )
00301 *
00302 *        DGTSVX
00303 *
00304          SRNAMT = 'DGTSVX'
00305          INFOT = 1
00306          CALL DGTSVX( '/', '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00310          INFOT = 2
00311          CALL DGTSVX( '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00315          INFOT = 3
00316          CALL DGTSVX( '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00320          INFOT = 4
00321          CALL DGTSVX( '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00325          INFOT = 14
00326          CALL DGTSVX( '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00330          INFOT = 16
00331          CALL DGTSVX( '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( 'DGTSVX', INFOT, NOUT, LERR, OK )
00335 *
00336       ELSE IF( LSAMEN( 2, C2, 'PO' ) ) THEN
00337 *
00338 *        DPOSV
00339 *
00340          SRNAMT = 'DPOSV '
00341          INFOT = 1
00342          CALL DPOSV( '/', 0, 0, A, 1, B, 1, INFO )
00343          CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
00344          INFOT = 2
00345          CALL DPOSV( 'U', -1, 0, A, 1, B, 1, INFO )
00346          CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
00347          INFOT = 3
00348          CALL DPOSV( 'U', 0, -1, A, 1, B, 1, INFO )
00349          CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
00350          INFOT = 5
00351          CALL DPOSV( 'U', 2, 0, A, 1, B, 2, INFO )
00352          CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
00353          INFOT = 7
00354          CALL DPOSV( 'U', 2, 0, A, 2, B, 1, INFO )
00355          CALL CHKXER( 'DPOSV ', INFOT, NOUT, LERR, OK )
00356 *
00357 *        DPOSVX
00358 *
00359          SRNAMT = 'DPOSVX'
00360          INFOT = 1
00361          CALL DPOSVX( '/', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00362      $                RCOND, R1, R2, W, IW, INFO )
00363          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00364          INFOT = 2
00365          CALL DPOSVX( 'N', '/', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00366      $                RCOND, R1, R2, W, IW, INFO )
00367          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00368          INFOT = 3
00369          CALL DPOSVX( 'N', 'U', -1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00370      $                RCOND, R1, R2, W, IW, INFO )
00371          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00372          INFOT = 4
00373          CALL DPOSVX( 'N', 'U', 0, -1, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00374      $                RCOND, R1, R2, W, IW, INFO )
00375          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00376          INFOT = 6
00377          CALL DPOSVX( 'N', 'U', 2, 0, A, 1, AF, 2, EQ, C, B, 2, X, 2,
00378      $                RCOND, R1, R2, W, IW, INFO )
00379          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00380          INFOT = 8
00381          CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 1, EQ, C, B, 2, X, 2,
00382      $                RCOND, R1, R2, W, IW, INFO )
00383          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00384          INFOT = 9
00385          EQ = '/'
00386          CALL DPOSVX( 'F', 'U', 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00387      $                RCOND, R1, R2, W, IW, INFO )
00388          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00389          INFOT = 10
00390          EQ = 'Y'
00391          CALL DPOSVX( 'F', 'U', 1, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00392      $                RCOND, R1, R2, W, IW, INFO )
00393          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00394          INFOT = 12
00395          CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 1, X, 2,
00396      $                RCOND, R1, R2, W, IW, INFO )
00397          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00398          INFOT = 14
00399          CALL DPOSVX( 'N', 'U', 2, 0, A, 2, AF, 2, EQ, C, B, 2, X, 1,
00400      $                RCOND, R1, R2, W, IW, INFO )
00401          CALL CHKXER( 'DPOSVX', INFOT, NOUT, LERR, OK )
00402 *
00403       ELSE IF( LSAMEN( 2, C2, 'PP' ) ) THEN
00404 *
00405 *        DPPSV
00406 *
00407          SRNAMT = 'DPPSV '
00408          INFOT = 1
00409          CALL DPPSV( '/', 0, 0, A, B, 1, INFO )
00410          CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
00411          INFOT = 2
00412          CALL DPPSV( 'U', -1, 0, A, B, 1, INFO )
00413          CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
00414          INFOT = 3
00415          CALL DPPSV( 'U', 0, -1, A, B, 1, INFO )
00416          CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
00417          INFOT = 6
00418          CALL DPPSV( 'U', 2, 0, A, B, 1, INFO )
00419          CALL CHKXER( 'DPPSV ', INFOT, NOUT, LERR, OK )
00420 *
00421 *        DPPSVX
00422 *
00423          SRNAMT = 'DPPSVX'
00424          INFOT = 1
00425          CALL DPPSVX( '/', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00426      $                R1, R2, W, IW, INFO )
00427          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00428          INFOT = 2
00429          CALL DPPSVX( 'N', '/', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00430      $                R1, R2, W, IW, INFO )
00431          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00432          INFOT = 3
00433          CALL DPPSVX( 'N', 'U', -1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00434      $                R1, R2, W, IW, INFO )
00435          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00436          INFOT = 4
00437          CALL DPPSVX( 'N', 'U', 0, -1, A, AF, EQ, C, B, 1, X, 1, RCOND,
00438      $                R1, R2, W, IW, INFO )
00439          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00440          INFOT = 7
00441          EQ = '/'
00442          CALL DPPSVX( 'F', 'U', 0, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00443      $                R1, R2, W, IW, INFO )
00444          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00445          INFOT = 8
00446          EQ = 'Y'
00447          CALL DPPSVX( 'F', 'U', 1, 0, A, AF, EQ, C, B, 1, X, 1, RCOND,
00448      $                R1, R2, W, IW, INFO )
00449          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00450          INFOT = 10
00451          CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 1, X, 2, RCOND,
00452      $                R1, R2, W, IW, INFO )
00453          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00454          INFOT = 12
00455          CALL DPPSVX( 'N', 'U', 2, 0, A, AF, EQ, C, B, 2, X, 1, RCOND,
00456      $                R1, R2, W, IW, INFO )
00457          CALL CHKXER( 'DPPSVX', INFOT, NOUT, LERR, OK )
00458 *
00459       ELSE IF( LSAMEN( 2, C2, 'PB' ) ) THEN
00460 *
00461 *        DPBSV
00462 *
00463          SRNAMT = 'DPBSV '
00464          INFOT = 1
00465          CALL DPBSV( '/', 0, 0, 0, A, 1, B, 1, INFO )
00466          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00467          INFOT = 2
00468          CALL DPBSV( 'U', -1, 0, 0, A, 1, B, 1, INFO )
00469          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00470          INFOT = 3
00471          CALL DPBSV( 'U', 1, -1, 0, A, 1, B, 1, INFO )
00472          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00473          INFOT = 4
00474          CALL DPBSV( 'U', 0, 0, -1, A, 1, B, 1, INFO )
00475          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00476          INFOT = 6
00477          CALL DPBSV( 'U', 1, 1, 0, A, 1, B, 2, INFO )
00478          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00479          INFOT = 8
00480          CALL DPBSV( 'U', 2, 0, 0, A, 1, B, 1, INFO )
00481          CALL CHKXER( 'DPBSV ', INFOT, NOUT, LERR, OK )
00482 *
00483 *        DPBSVX
00484 *
00485          SRNAMT = 'DPBSVX'
00486          INFOT = 1
00487          CALL DPBSVX( '/', 'U', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00488      $                RCOND, R1, R2, W, IW, INFO )
00489          CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
00490          INFOT = 2
00491          CALL DPBSVX( 'N', '/', 0, 0, 0, A, 1, AF, 1, EQ, C, B, 1, X, 1,
00492      $                RCOND, R1, R2, W, IW, INFO )
00493          CALL CHKXER( 'DPBSVX', INFOT, NOUT, LERR, OK )
00494          INFOT = 3
00495          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00498          INFOT = 4
00499          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00502          INFOT = 5
00503          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00506          INFOT = 7
00507          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00510          INFOT = 9
00511          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00514          INFOT = 10
00515          EQ = '/'
00516          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00519          INFOT = 11
00520          EQ = 'Y'
00521          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00524          INFOT = 13
00525          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00528          INFOT = 15
00529          CALL DPBSVX( '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( 'DPBSVX', INFOT, NOUT, LERR, OK )
00532 *
00533       ELSE IF( LSAMEN( 2, C2, 'PT' ) ) THEN
00534 *
00535 *        DPTSV
00536 *
00537          SRNAMT = 'DPTSV '
00538          INFOT = 1
00539          CALL DPTSV( -1, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00540          CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
00541          INFOT = 2
00542          CALL DPTSV( 0, -1, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00543          CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
00544          INFOT = 6
00545          CALL DPTSV( 2, 0, A( 1, 1 ), A( 1, 2 ), B, 1, INFO )
00546          CALL CHKXER( 'DPTSV ', INFOT, NOUT, LERR, OK )
00547 *
00548 *        DPTSVX
00549 *
00550          SRNAMT = 'DPTSVX'
00551          INFOT = 1
00552          CALL DPTSVX( '/', 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( 'DPTSVX', INFOT, NOUT, LERR, OK )
00555          INFOT = 2
00556          CALL DPTSVX( '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( 'DPTSVX', INFOT, NOUT, LERR, OK )
00559          INFOT = 3
00560          CALL DPTSVX( '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( 'DPTSVX', INFOT, NOUT, LERR, OK )
00563          INFOT = 9
00564          CALL DPTSVX( '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( 'DPTSVX', INFOT, NOUT, LERR, OK )
00567          INFOT = 11
00568          CALL DPTSVX( '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( 'DPTSVX', INFOT, NOUT, LERR, OK )
00571 *
00572       ELSE IF( LSAMEN( 2, C2, 'SY' ) ) THEN
00573 *
00574 *        DSYSV
00575 *
00576          SRNAMT = 'DSYSV '
00577          INFOT = 1
00578          CALL DSYSV( '/', 0, 0, A, 1, IP, B, 1, W, 1, INFO )
00579          CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
00580          INFOT = 2
00581          CALL DSYSV( 'U', -1, 0, A, 1, IP, B, 1, W, 1, INFO )
00582          CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
00583          INFOT = 3
00584          CALL DSYSV( 'U', 0, -1, A, 1, IP, B, 1, W, 1, INFO )
00585          CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
00586          INFOT = 8
00587          CALL DSYSV( 'U', 2, 0, A, 2, IP, B, 1, W, 1, INFO )
00588          CALL CHKXER( 'DSYSV ', INFOT, NOUT, LERR, OK )
00589 *
00590 *        DSYSVX
00591 *
00592          SRNAMT = 'DSYSVX'
00593          INFOT = 1
00594          CALL DSYSVX( '/', 'U', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00595      $                RCOND, R1, R2, W, 1, IW, INFO )
00596          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00597          INFOT = 2
00598          CALL DSYSVX( 'N', '/', 0, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00599      $                RCOND, R1, R2, W, 1, IW, INFO )
00600          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00601          INFOT = 3
00602          CALL DSYSVX( 'N', 'U', -1, 0, A, 1, AF, 1, IP, B, 1, X, 1,
00603      $                RCOND, R1, R2, W, 1, IW, INFO )
00604          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00605          INFOT = 4
00606          CALL DSYSVX( 'N', 'U', 0, -1, A, 1, AF, 1, IP, B, 1, X, 1,
00607      $                RCOND, R1, R2, W, 1, IW, INFO )
00608          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00609          INFOT = 6
00610          CALL DSYSVX( 'N', 'U', 2, 0, A, 1, AF, 2, IP, B, 2, X, 2,
00611      $                RCOND, R1, R2, W, 4, IW, INFO )
00612          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00613          INFOT = 8
00614          CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 1, IP, B, 2, X, 2,
00615      $                RCOND, R1, R2, W, 4, IW, INFO )
00616          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00617          INFOT = 11
00618          CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 1, X, 2,
00619      $                RCOND, R1, R2, W, 4, IW, INFO )
00620          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00621          INFOT = 13
00622          CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 1,
00623      $                RCOND, R1, R2, W, 4, IW, INFO )
00624          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00625          INFOT = 18
00626          CALL DSYSVX( 'N', 'U', 2, 0, A, 2, AF, 2, IP, B, 2, X, 2,
00627      $                RCOND, R1, R2, W, 3, IW, INFO )
00628          CALL CHKXER( 'DSYSVX', INFOT, NOUT, LERR, OK )
00629 *
00630       ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
00631 *
00632 *        DSPSV
00633 *
00634          SRNAMT = 'DSPSV '
00635          INFOT = 1
00636          CALL DSPSV( '/', 0, 0, A, IP, B, 1, INFO )
00637          CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
00638          INFOT = 2
00639          CALL DSPSV( 'U', -1, 0, A, IP, B, 1, INFO )
00640          CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
00641          INFOT = 3
00642          CALL DSPSV( 'U', 0, -1, A, IP, B, 1, INFO )
00643          CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
00644          INFOT = 7
00645          CALL DSPSV( 'U', 2, 0, A, IP, B, 1, INFO )
00646          CALL CHKXER( 'DSPSV ', INFOT, NOUT, LERR, OK )
00647 *
00648 *        DSPSVX
00649 *
00650          SRNAMT = 'DSPSVX'
00651          INFOT = 1
00652          CALL DSPSVX( '/', 'U', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00653      $                R2, W, IW, INFO )
00654          CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
00655          INFOT = 2
00656          CALL DSPSVX( 'N', '/', 0, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00657      $                R2, W, IW, INFO )
00658          CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
00659          INFOT = 3
00660          CALL DSPSVX( 'N', 'U', -1, 0, A, AF, IP, B, 1, X, 1, RCOND, R1,
00661      $                R2, W, IW, INFO )
00662          CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
00663          INFOT = 4
00664          CALL DSPSVX( 'N', 'U', 0, -1, A, AF, IP, B, 1, X, 1, RCOND, R1,
00665      $                R2, W, IW, INFO )
00666          CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
00667          INFOT = 9
00668          CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 1, X, 2, RCOND, R1,
00669      $                R2, W, IW, INFO )
00670          CALL CHKXER( 'DSPSVX', INFOT, NOUT, LERR, OK )
00671          INFOT = 11
00672          CALL DSPSVX( 'N', 'U', 2, 0, A, AF, IP, B, 2, X, 1, RCOND, R1,
00673      $                R2, W, IW, INFO )
00674          CALL CHKXER( 'DSPSVX', 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 DERRVX
00692 *
00693       END
 All Files Functions