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, / / )
subroutine dget33(RMAX, LMAX, NINFO, KNT)
DGET33
subroutine dget36(RMAX, LMAX, NINFO, KNT, NIN)
DGET36
double precision function dlamch(CMACH)
DLAMCH
subroutine dget39(RMAX, LMAX, NINFO, KNT)
DGET39
subroutine dget34(RMAX, LMAX, NINFO, KNT)
DGET34
subroutine dget38(RMAX, LMAX, NINFO, KNT, NIN)
DGET38
subroutine dget35(RMAX, LMAX, NINFO, KNT)
DGET35
subroutine dget32(RMAX, LMAX, NINFO, KNT)
DGET32
subroutine dget37(RMAX, LMAX, NINFO, KNT, NIN)
DGET37
subroutine derrec(PATH, NUNIT)
DERREC
subroutine dget31(RMAX, LMAX, NINFO, KNT)
DGET31