74 SUBROUTINE zchkec( THRESH, TSTERR, NIN, NOUT )
83 DOUBLE PRECISION THRESH
91 INTEGER KTREXC, KTRSEN, KTRSNA, KTRSYL, , LTRSYL,
92 $ NTESTS, NTREXC, NTRSYL
93 DOUBLE PRECISION EPS, RTREXC, RTRSYL, SFMIN
96 INTEGER LTRSEN( 3 ), LTRSNA( 3 ), ( 3 ),
98 DOUBLE PRECISION ( 3 ), RTRSNA( 3 )
104 DOUBLE PRECISION DLAMCH
109 path( 1: 1 ) =
'Zomplex precision'
112 sfmin = dlamch(
'S' )
113 WRITE( nout, fmt = 9994 )
114 WRITE( nout, fmt = 9993 )eps, sfmin
115 WRITE( nout, fmt = 9992 )thresh
120 $
CALL zerrec( path, nout )
123 CALL zget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl, nin )
124 IF( rtrsyl.GT.thresh )
THEN
126 WRITE( nout, fmt = 9999 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
129 CALL zget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
130 IF( rtrexc.GT.thresh .OR. ntrexc.GT.0 )
THEN
132 WRITE( nout, fmt = 9998 )rtrexc, ltrexc, ntrexc, ktrexc
135 CALL zget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
136 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
137 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
140 WRITE( nout, fmt = 9997 )rtrsna, ltrsna, ntrsna, ktrsna
143 CALL zget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
144 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
145 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
148 WRITE( nout, fmt = 9996 )rtrsen, ltrsen, ntrsen, ktrsen
151 ntests = ktrsyl + ktrexc + ktrsna + ktrsen
153 $
WRITE( nout, fmt = 9995 )path, ntests
155 9999
FORMAT(
' Error in ZTRSYL: RMAX =', d12.3, /
' LMAX = ', i8,
156 $
' NINFO=', i8,
' KNT=', i8 )
157 9998
FORMAT(
' Error in ZTREXC: RMAX =', d12.3, /
' LMAX = ', i8,
158 $
' NINFO=', i8,
' KNT=', i8 )
159 9997
FORMAT(
' Error in ZTRSNA: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
160 $
' NINFO=', 3i8,
' KNT=', i8 )
161 9996
FORMAT(
' Error in ZTRSEN: RMAX =', 3d12.3, /
' LMAX = ', 3i8,
162 $
' NINFO=', 3i8,
' KNT=', i8 )
163 9995
FORMAT( / 1x,
'All tests for ', a3,
164 $
' routines passed the threshold ( ', i6,
' tests run)' )
165 9994
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition',
166 $
' estimation routines', /
' ZTRSYL, ZTREXC, ZTRSNA, ZTRSEN',
168 9993
FORMAT(
' Relative machine precision (EPS) = ', d16.6,
169 $ /
' Safe minimum (SFMIN) = ', d16.6, / )
170 9992
FORMAT(
' Routines pass computational tests if test ratio is ',
171 $
'less than', f8.2, / / )