68 parameter( nmax = 4, lw = nmax )
72 INTEGER I, INFO, J, NT
75 REAL D( NMAX ), E( NMAX ), RW( 4*NMAX )
76 COMPLEX A( NMAX, NMAX ), TP( NMAX ), TQ( NMAX ),
77 $ U( NMAX, NMAX ), V( NMAX, NMAX ), W( LW )
92 COMMON / infoc / infot, nout, ok, lerr
93 COMMON / srnamc / srnamt
101 WRITE( nout, fmt = * )
108 a( i, j ) = 1. / real( i+j )
116 IF( lsamen( 2, c2,
'BD' ) )
THEN
122 CALL cgebrd( -1, 0, a, 1, d, e, tq, tp, w, 1, info )
123 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
125 CALL cgebrd( 0, -1, a, 1, d, e, tq, tp, w, 1, info )
126 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
128 CALL cgebrd( 2, 1, a, 1, d, e, tq, tp, w, 2, info )
129 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
131 CALL cgebrd( 2, 1, a, 2, d, e, tq, tp, w, 1, info )
132 CALL chkxer(
'CGEBRD', infot, nout, lerr, ok )
139 CALL cungbr(
'/', 0, 0, 0, a, 1, tq, w, 1, info )
140 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
142 CALL cungbr(
'Q', -1, 0, 0, a, 1, tq, w, 1, info )
143 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
145 CALL cungbr(
'Q', 0, -1, 0, a, 1, tq, w, 1, info )
146 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
148 CALL cungbr(
'Q', 0, 1, 0, a, 1, tq, w, 1, info )
149 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
151 CALL cungbr(
'Q', 1, 0, 1, a, 1, tq, w, 1, info )
152 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
154 CALL cungbr(
'P', 1, 0, 0, a, 1, tq, w, 1, info )
155 CALL chkxer(
'CUNGBR', infot, nout, lerr, ok )
157 CALL cungbr(
'P', 0, 1, 1, a, 1, tq, w, 1, info )
160 CALL CUNGBR( 'q
', 0, 0, -1, A, 1, TQ, W, 1, INFO )
161 CALL CHKXER( 'cungbr', INFOT, NOUT, LERR, OK )
163 CALL CUNGBR( 'q
', 2, 1, 1, A, 1, TQ, W, 1, INFO )
164 CALL CHKXER( 'cungbr', INFOT, NOUT, LERR, OK )
166 CALL CUNGBR( 'q
', 2, 2, 1, A, 2, TQ, W, 1, INFO )
167 CALL CHKXER( 'cungbr', INFOT, NOUT, LERR, OK )
174 CALL CUNMBR( '/
', 'l
', 't
', 0, 0, 0, A, 1, TQ, U, 1, W, 1,
176 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
178 CALL CUNMBR( 'q
', '/
', 't
', 0, 0, 0, A, 1, TQ, U, 1, W, 1,
180 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
182 CALL CUNMBR( 'q
', 'l
', '/
', 0, 0, 0, A, 1, TQ, U, 1, W, 1,
184 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
186 CALL CUNMBR( 'q
', 'l
', 'c
', -1, 0, 0, A, 1, TQ, U, 1, W, 1,
188 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
190 CALL CUNMBR( 'q
', 'l
', 'c
', 0, -1, 0, A, 1, TQ, U, 1, W, 1,
192 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
194 CALL CUNMBR( 'q
', 'l
', 'c
', 0, 0, -1, A, 1, TQ, U, 1, W, 1,
196 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
198 CALL CUNMBR( 'q
', 'l
', 'c
', 2, 0, 0, A, 1, TQ, U, 2, W, 1,
200 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
202 CALL CUNMBR( 'q
', 'r
', 'c
', 0, 2, 0, A, 1, TQ, U, 1, W, 1,
204 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
206 CALL CUNMBR( 'p
', 'l
', 'c
', 2, 0, 2, A, 1, TQ, U, 2, W, 1,
208 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
210 CALL CUNMBR( 'p
', 'r
', 'c
', 0, 2, 2, A, 1, TQ, U, 1, W, 1,
212 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
214 CALL CUNMBR( 'q
', 'r
', 'c
', 2, 0, 0, A, 1, TQ, U, 1, W, 1,
216 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
218 CALL CUNMBR( 'q
', 'l
', 'c
', 0, 2, 0, A, 1, TQ, U, 1, W, 0,
220 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
222 CALL CUNMBR( 'q
', 'r
', 'c
', 2, 0, 0, A, 1, TQ, U, 2, W, 0,
224 CALL CHKXER( 'cunmbr', INFOT, NOUT, LERR, OK )
231 CALL CBDSQR( '/
', 0, 0, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
233 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
235 CALL CBDSQR( 'u
', -1, 0, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
237 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
239 CALL CBDSQR( 'u
', 0, -1, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
241 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
243 CALL CBDSQR( 'u
', 0, 0, -1, 0, D, E, V, 1, U, 1, A, 1, RW,
245 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
247 CALL CBDSQR( 'u
', 0, 0, 0, -1, D, E, V, 1, U, 1, A, 1, RW,
249 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
251 CALL CBDSQR( 'u
', 2, 1, 0, 0, D, E, V, 1, U, 1, A, 1, RW,
253 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
255 CALL CBDSQR( 'u
', 0, 0, 2, 0, D, E, V, 1, U, 1, A, 1, RW,
257 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
259 CALL CBDSQR( 'u
', 2, 0, 0, 1, D, E, V, 1, U, 1, A, 1, RW,
261 CALL CHKXER( 'cbdsqr', INFOT, NOUT, LERR, OK )
268 WRITE( NOUT, FMT = 9999 )PATH, NT
270 WRITE( NOUT, FMT = 9998 )PATH
273 9999 FORMAT( 1X, A3, ' routines passed
the tests of
the error exits(
',
274 $ I3, ' tests done)
' )
275 9998 FORMAT( ' ***
', A3, ' routines failed
the tests of
the error
',