72 parameter( nmax = 4, lw = nmax )
76 INTEGER i, info, j, nt
79 INTEGER iq( nmax, nmax ), iw( nmax )
80 DOUBLE PRECISION a( nmax, nmax ), d( nmax ), e( nmax ),
81 $ q( nmax, nmax ), tp( nmax ), tq( nmax ),
82 $ u( nmax, nmax ), v( nmax, nmax ), w( lw )
98 common / infoc / infot, nout, ok, lerr
99 common / srnamc / srnamt
107 WRITE( nout, fmt = * )
114 a( i, j ) = 1.d0 / dble( i+j )
122 IF(
lsamen( 2, c2,
'BD' ) )
THEN
128 CALL
dgebrd( -1, 0, a, 1, d, e, tq, tp, w, 1, info )
129 CALL
chkxer(
'DGEBRD', infot, nout, lerr, ok )
131 CALL
dgebrd( 0, -1, a, 1, d, e, tq, tp, w, 1, info )
132 CALL
chkxer(
'DGEBRD', infot, nout, lerr, ok )
134 CALL
dgebrd( 2, 1, a, 1, d, e, tq, tp, w, 2, info )
135 CALL
chkxer(
'DGEBRD', infot, nout, lerr, ok )
137 CALL
dgebrd( 2, 1, a, 2, d, e, tq, tp, w, 1, info )
138 CALL
chkxer(
'DGEBRD', infot, nout, lerr, ok )
145 CALL
dgebd2( -1, 0, a, 1, d, e, tq, tp, w, info )
146 CALL
chkxer(
'DGEBD2', infot, nout, lerr, ok )
148 CALL
dgebd2( 0, -1, a, 1, d, e, tq, tp, w, info )
149 CALL
chkxer(
'DGEBD2', infot, nout, lerr, ok )
151 CALL
dgebd2( 2, 1, a, 1, d, e, tq, tp, w, info )
152 CALL
chkxer(
'DGEBD2', infot, nout, lerr, ok )
159 CALL
dorgbr(
'/', 0, 0, 0, a, 1, tq, w, 1, info )
160 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
162 CALL
dorgbr(
'Q', -1, 0, 0, a, 1, tq, w, 1, info )
163 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
165 CALL
dorgbr(
'Q', 0, -1, 0, a, 1, tq, w, 1, info )
166 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
168 CALL
dorgbr(
'Q', 0, 1, 0, a, 1, tq, w, 1, info )
169 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
171 CALL
dorgbr(
'Q', 1, 0, 1, a, 1, tq, w, 1, info )
172 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
174 CALL
dorgbr(
'P', 1, 0, 0, a, 1, tq, w, 1, info )
175 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
177 CALL
dorgbr(
'P', 0, 1, 1, a, 1, tq, w, 1, info )
178 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
180 CALL
dorgbr(
'Q', 0, 0, -1, a, 1, tq, w, 1, info )
181 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
183 CALL
dorgbr(
'Q', 2, 1, 1, a, 1, tq, w, 1, info )
184 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
186 CALL
dorgbr(
'Q', 2, 2, 1, a, 2, tq, w, 1, info )
187 CALL
chkxer(
'DORGBR', infot, nout, lerr, ok )
194 CALL
dormbr(
'/',
'L',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
196 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
198 CALL
dormbr(
'Q',
'/',
'T', 0, 0, 0, a, 1, tq, u, 1, w, 1,
200 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
202 CALL
dormbr(
'Q',
'L',
'/', 0, 0, 0, a, 1, tq, u, 1, w, 1,
204 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
206 CALL
dormbr(
'Q',
'L',
'T', -1, 0, 0, a, 1, tq, u, 1, w, 1,
208 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
210 CALL
dormbr(
'Q',
'L',
'T', 0, -1, 0, a, 1, tq, u, 1, w, 1,
212 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
214 CALL
dormbr(
'Q',
'L',
'T', 0, 0, -1, a, 1, tq, u, 1, w, 1,
216 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
218 CALL
dormbr(
'Q',
'L',
'T', 2, 0, 0, a, 1, tq, u, 2, w, 1,
220 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
222 CALL
dormbr(
'Q',
'R',
'T', 0, 2, 0, a, 1, tq, u, 1, w, 1,
224 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
226 CALL
dormbr(
'P',
'L',
'T', 2, 0, 2, a, 1, tq, u, 2, w, 1,
228 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
230 CALL
dormbr(
'P',
'R',
'T', 0, 2, 2, a, 1, tq, u, 1, w, 1,
232 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
234 CALL
dormbr(
'Q',
'R',
'T', 2, 0, 0, a, 1, tq, u, 1, w, 1,
236 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
238 CALL
dormbr(
'Q',
'L',
'T', 0, 2, 0, a, 1, tq, u, 1, w, 1,
240 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
242 CALL
dormbr(
'Q',
'R',
'T', 2, 0, 0, a, 1, tq, u, 2, w, 1,
244 CALL
chkxer(
'DORMBR', infot, nout, lerr, ok )
251 CALL
dbdsqr(
'/', 0, 0, 0, 0, d, e, v, 1, u, 1, a, 1, w, info )
252 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
254 CALL
dbdsqr(
'U', -1, 0, 0, 0, d, e, v, 1, u, 1, a, 1, w,
256 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
258 CALL
dbdsqr(
'U', 0, -1, 0, 0, d, e, v, 1, u, 1, a, 1, w,
260 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
262 CALL
dbdsqr(
'U', 0, 0, -1, 0, d, e, v, 1, u, 1, a, 1, w,
264 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
266 CALL
dbdsqr(
'U', 0, 0, 0, -1, d, e, v, 1, u, 1, a, 1, w,
268 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
270 CALL
dbdsqr(
'U', 2, 1, 0, 0, d, e, v, 1, u, 1, a, 1, w, info )
271 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
273 CALL
dbdsqr(
'U', 0, 0, 2, 0, d, e, v, 1, u, 1, a, 1, w, info )
274 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
276 CALL
dbdsqr(
'U', 2, 0, 0, 1, d, e, v, 1, u, 1, a, 1, w, info )
277 CALL
chkxer(
'DBDSQR', infot, nout, lerr, ok )
284 CALL
dbdsdc(
'/',
'N', 0, d, e, u, 1, v, 1, q, iq, w, iw,
286 CALL
chkxer(
'DBDSDC', infot, nout, lerr, ok )
288 CALL
dbdsdc(
'U',
'/', 0, d, e, u, 1, v, 1, q, iq, w, iw,
290 CALL
chkxer(
'DBDSDC', infot, nout, lerr, ok )
292 CALL
dbdsdc(
'U',
'N', -1, d, e, u, 1, v, 1, q, iq, w, iw,
294 CALL
chkxer(
'DBDSDC', infot, nout, lerr, ok )
296 CALL
dbdsdc(
'U',
'I', 2, d, e, u, 1, v, 1, q, iq, w, iw,
298 CALL
chkxer(
'DBDSDC', infot, nout, lerr, ok )
300 CALL
dbdsdc(
'U',
'I', 2, d, e, u, 2, v, 1, q, iq, w, iw,
302 CALL
chkxer(
'DBDSDC', infot, nout, lerr, ok )
309 WRITE( nout, fmt = 9999 )path, nt
311 WRITE( nout, fmt = 9998 )path
314 9999 format( 1x, a3,
' routines passed the tests of the error exits',
315 $
' (', i3,
' tests done)' )
316 9998 format(
' *** ', a3,
' routines failed the tests of the error ',