39 DOUBLE PRECISION rcond
42 INTEGER hl( 2 ), hpiv( 2 )
43 INTEGER ip( nmax ), iw( nmax )
44 DOUBLE PRECISION a( nmax, nmax ), af( nmax, nmax ), b( nmax ),
45 $ c( nmax ), r( nmax ), r1( nmax ), r2( nmax ),
46 $ w( 2*nmax ), x( nmax )
53 EXTERNAL chkxer, dgbsv, dgbsvx, dgesv, dgesvx, dgtsv,
54 $ dgtsvx, dpbsv, dpbsvx, dposv,
dposvx, dppsv,
55 $ dppsvx, dptsv, dptsvx, dspsv, dspsvx, dsysv,
64 common / infoc / infot, nout, ok, lerr
65 common / srnamc / srnamt
73 WRITE( nout, fmt = * )
85 a( i, j ) = 1.d0 / dble( i+j )
86 af( i, j ) = 1.d0 / dble( i+j )
100 IF(
lsamen( 2, c2,
'GE' ) )
THEN
105 $ 2, 1, hl, hpiv, info )
112 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
115 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
118 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
121 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
125 CALL plasma_dealloc_handle( hl, info )
126 CALL plasma_dealloc_handle( hpiv, info )
134 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
137 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
140 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
143 CALL
chkxer(
'DGESV ', infot, nout, info, ok )
145 ELSE IF(
lsamen( 2, c2,
'PO' ) )
THEN
152 CALL
chkxer(
'DPOSV ', infot, nout, info, ok )
154 CALL
plasma_dposv( plasmaupper, -1, 0, a, 1, b, 1, info )
155 CALL
chkxer(
'DPOSV ', infot, nout, info, ok )
157 CALL
plasma_dposv( plasmaupper, 0, -1, a, 1, b, 1, info )
158 CALL
chkxer(
'DPOSV ', infot, nout, info, ok )
160 CALL
plasma_dposv( plasmaupper, 2, 0, a, 1, b, 2, info )
161 CALL
chkxer(
'DPOSV ', infot, nout, info, ok )
163 CALL
plasma_dposv( plasmaupper, 2, 0, a, 2, b, 1, info )
164 CALL
chkxer(
'DPOSV ', infot, nout, info, ok )
170 CALL
dposvx(
'/',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
171 $ rcond, r1, r2, w, iw, info )
172 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
174 CALL
dposvx(
'N',
'/', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
175 $ rcond, r1, r2, w, iw, info )
176 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
178 CALL
dposvx(
'N',
'U', -1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
179 $ rcond, r1, r2, w, iw, info )
180 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
182 CALL
dposvx(
'N',
'U', 0, -1, a, 1, af, 1, eq, c, b, 1, x, 1,
183 $ rcond, r1, r2, w, iw, info )
184 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
186 CALL
dposvx(
'N',
'U', 2, 0, a, 1, af, 2, eq, c, b, 2, x, 2,
187 $ rcond, r1, r2, w, iw, info )
188 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
190 CALL
dposvx(
'N',
'U', 2, 0, a, 2, af, 1, eq, c, b, 2, x, 2,
191 $ rcond, r1, r2, w, iw, info )
192 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
195 CALL
dposvx(
'F',
'U', 0, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
196 $ rcond, r1, r2, w, iw, info )
197 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
200 CALL
dposvx(
'F',
'U', 1, 0, a, 1, af, 1, eq, c, b, 1, x, 1,
201 $ rcond, r1, r2, w, iw, info )
202 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
204 CALL
dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 1, x, 2,
205 $ rcond, r1, r2, w, iw, info )
206 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
208 CALL
dposvx(
'N',
'U', 2, 0, a, 2, af, 2, eq, c, b, 2, x, 1,
209 $ rcond, r1, r2, w, iw, info )
210 CALL
chkxer(
'DPOSVX', infot, nout, info, ok )
216 WRITE( nout, fmt = 9999 )path
218 WRITE( nout, fmt = 9998 )path
221 9999
format( 1x, a3,
' drivers passed the tests of the error exits' )
222 9998
format(
' *** ', a3,
' drivers failed the tests of the error ',