77 SUBROUTINE dchkec( THRESH, TSTERR, NIN, NOUT )
87 DOUBLE PRECISION thresh
95 INTEGER klaexc, klaln2, klanv2, klaqtr, klasy2, ktrexc,
96 $ ktrsen, ktrsna, ktrsyl, llaexc, llaln2, llanv2,
97 $ llaqtr, llasy2, ltrexc, ltrsyl, nlanv2, nlaqtr,
98 $ nlasy2, ntests, ntrsyl
99 DOUBLE PRECISION eps, rlaexc, rlaln2, rlanv2, rlaqtr, rlasy2,
100 $ rtrexc, rtrsyl, sfmin
103 INTEGER ltrsen( 3 ), ltrsna( 3 ), nlaexc( 2 ),
104 $ nlaln2( 2 ), ntrexc( 3 ), ntrsen( 3 ),
106 DOUBLE PRECISION rtrsen( 3 ), rtrsna( 3 )
118 path( 1: 1 ) =
'Double precision'
125 WRITE( nout, fmt = 9989 )
126 WRITE( nout, fmt = 9988 )eps, sfmin
127 WRITE( nout, fmt = 9987 )thresh
132 $ CALL
derrec( path, nout )
135 CALL
dget31( rlaln2, llaln2, nlaln2, klaln2 )
136 IF( rlaln2.GT.thresh .OR. nlaln2( 1 ).NE.0 )
THEN
138 WRITE( nout, fmt = 9999 )rlaln2, llaln2, nlaln2, klaln2
141 CALL
dget32( rlasy2, llasy2, nlasy2, klasy2 )
142 IF( rlasy2.GT.thresh )
THEN
144 WRITE( nout, fmt = 9998 )rlasy2, llasy2, nlasy2, klasy2
147 CALL
dget33( rlanv2, llanv2, nlanv2, klanv2 )
148 IF( rlanv2.GT.thresh .OR. nlanv2.NE.0 )
THEN
150 WRITE( nout, fmt = 9997 )rlanv2, llanv2, nlanv2, klanv2
153 CALL
dget34( rlaexc, llaexc, nlaexc, klaexc )
154 IF( rlaexc.GT.thresh .OR. nlaexc( 2 ).NE.0 )
THEN
156 WRITE( nout, fmt = 9996 )rlaexc, llaexc, nlaexc, klaexc
159 CALL
dget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl )
160 IF( rtrsyl.GT.thresh )
THEN
162 WRITE( nout, fmt = 9995 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
165 CALL
dget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
166 IF( rtrexc.GT.thresh .OR. ntrexc( 3 ).GT.0 )
THEN
168 WRITE( nout, fmt = 9994 )rtrexc, ltrexc, ntrexc, ktrexc
171 CALL
dget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
172 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
173 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
176 WRITE( nout, fmt = 9993 )rtrsna, ltrsna, ntrsna, ktrsna
179 CALL
dget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
180 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
181 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
184 WRITE( nout, fmt = 9992 )rtrsen, ltrsen, ntrsen, ktrsen
187 CALL
dget39( rlaqtr, llaqtr, nlaqtr, klaqtr )
188 IF( rlaqtr.GT.thresh )
THEN
190 WRITE( nout, fmt = 9991 )rlaqtr, llaqtr, nlaqtr, klaqtr
193 ntests = klaln2 + klasy2 + klanv2 + klaexc + ktrsyl + ktrexc +
194 $ ktrsna + ktrsen + klaqtr
196 $
WRITE( nout, fmt = 9990 )path, ntests
199 9999 format(
' Error in DLALN2: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
200 $
'INFO=', 2i8,
' KNT=', i8 )
201 9998 format(
' Error in DLASY2: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
202 $
'INFO=', i8,
' KNT=', i8 )
203 9997 format(
' Error in DLANV2: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
204 $
'INFO=', i8,
' KNT=', i8 )
205 9996 format(
' Error in DLAEXC: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
206 $
'INFO=', 2i8,
' KNT=', i8 )
207 9995 format(
' Error in DTRSYL: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
208 $
'INFO=', i8,
' KNT=', i8 )
209 9994 format(
' Error in DTREXC: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
210 $
'INFO=', 3i8,
' KNT=', i8 )
211 9993 format(
' Error in DTRSNA: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
212 $
' NINFO=', 3i8,
' KNT=', i8 )
213 9992 format(
' Error in DTRSEN: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
214 $
' NINFO=', 3i8,
' KNT=', i8 )
215 9991 format(
' Error in DLAQTR: RMAX =', d12.3, /
' LMAX = ', i8,
' N',
216 $
'INFO=', i8,
' KNT=', i8 )
217 9990 format( / 1x,
'All tests for ', a3,
' routines passed the thresh',
218 $
'old ( ', i6,
' tests run)' )
219 9989 format(
' Tests of the Nonsymmetric eigenproblem condition estim',
220 $
'ation routines', /
' DLALN2, DLASY2, DLANV2, DLAEXC, DTRS',
221 $
'YL, DTREXC, DTRSNA, DTRSEN, DLAQTR', / )
222 9988 format(
' Relative machine precision (EPS) = ', d16.6, /
' Safe ',
223 $
'minimum (SFMIN) = ', d16.6, / )
224 9987 format(
' Routines pass computational tests if test ratio is les',
225 $
's than', f8.2, / / )