LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ derrab()

subroutine derrab ( integer  NUNIT)

DERRAB

Purpose:
 DERRAB tests the error exits for DSGESV.
Parameters
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 49 of file derrab.f.

49 *
50 * -- LAPACK test routine (version 3.7.0) --
51 * -- LAPACK is a software package provided by Univ. of Tennessee, --
52 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
53 * December 2016
54 *
55 * .. Scalar Arguments ..
56  INTEGER nunit
57 * ..
58 *
59 * =====================================================================
60 *
61 * .. Parameters ..
62  INTEGER nmax
63  parameter( nmax = 4 )
64 * ..
65 * .. Local Scalars ..
66  INTEGER i, info, iter, j
67 * ..
68 * .. Local Arrays ..
69  INTEGER ip( nmax )
70  DOUBLE PRECISION a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
71  $ c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
72  $ w( 2*nmax ), x( nmax )
73  DOUBLE PRECISION work(1)
74  REAL swork(1)
75 * ..
76 * .. External Subroutines ..
77  EXTERNAL chkxer, dsgesv
78 * ..
79 * .. Scalars in Common ..
80  LOGICAL lerr, ok
81  CHARACTER*32 srnamt
82  INTEGER infot, nout
83 * ..
84 * .. Common blocks ..
85  COMMON / infoc / infot, nout, ok, lerr
86  COMMON / srnamc / srnamt
87 * ..
88 * .. Intrinsic Functions ..
89  INTRINSIC dble
90 * ..
91 * .. Executable Statements ..
92 *
93  nout = nunit
94  WRITE( nout, fmt = * )
95 *
96 * Set the variables to innocuous values.
97 *
98  DO 20 j = 1, nmax
99  DO 10 i = 1, nmax
100  a( i, j ) = 1.d0 / dble( i+j )
101  af( i, j ) = 1.d0 / dble( i+j )
102  10 CONTINUE
103  b( j ) = 0.d0
104  r1( j ) = 0.d0
105  r2( j ) = 0.d0
106  w( j ) = 0.d0
107  x( j ) = 0.d0
108  c( j ) = 0.d0
109  r( j ) = 0.d0
110  ip( j ) = j
111  20 CONTINUE
112  ok = .true.
113 *
114  srnamt = 'DSGESV'
115  infot = 1
116  CALL dsgesv(-1,0,a,1,ip,b,1,x,1,work,swork,iter,info)
117  CALL chkxer( 'DSGESV', infot, nout, lerr, ok )
118  infot = 2
119  CALL dsgesv(0,-1,a,1,ip,b,1,x,1,work,swork,iter,info)
120  CALL chkxer( 'DSGESV', infot, nout, lerr, ok )
121  infot = 4
122  CALL dsgesv(2,1,a,1,ip,b,2,x,2,work,swork,iter,info)
123  CALL chkxer( 'DSGESV', infot, nout, lerr, ok )
124  infot = 7
125  CALL dsgesv(2,1,a,2,ip,b,1,x,2,work,swork,iter,info)
126  CALL chkxer( 'DSGESV', infot, nout, lerr, ok )
127  infot = 9
128  CALL dsgesv(2,1,a,2,ip,b,2,x,1,work,swork,iter,info)
129  CALL chkxer( 'DSGESV', infot, nout, lerr, ok )
130 *
131 * Print a summary line.
132 *
133  IF( ok ) THEN
134  WRITE( nout, fmt = 9999 )'DSGESV'
135  ELSE
136  WRITE( nout, fmt = 9998 )'DSGESV'
137  END IF
138 *
139  9999 FORMAT( 1x, a6, ' drivers passed the tests of the error exits' )
140  9998 FORMAT( ' *** ', a6, ' drivers failed the tests of the error ',
141  $ 'exits ***' )
142 *
143  RETURN
144 *
145 * End of DERRAB
146 *
subroutine dsgesv(N, NRHS, A, LDA, IPIV, B, LDB, X, LDX, WORK, SWORK, ITER, INFO)
DSGESV computes the solution to system of linear equations A * X = B for GE matrices (mixed precisio...
Definition: dsgesv.f:197
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3199
Here is the call graph for this function:
Here is the caller graph for this function: