74 SUBROUTINE cchkec( THRESH, TSTERR, NIN, NOUT )
91 INTEGER KTREXC, KTRSEN, KTRSNA, KTRSYL, KTRSYL3,
92 $ LTREXC, LTRSYL, NTESTS, NTREXC, NTRSYL
93 REAL EPS, RTREXC, SFMIN
96 INTEGER FTRSYL( 3 ), ITRSYL( 2 ), LTRSEN( 3 ),
97 $ LTRSNA( 3 ), NTRSEN( 3 ), NTRSNA( 3 )
98 REAL RTRSEN( 3 ), RTRSNA( 3 ), RTRSYL( 2 )
109 path( 1: 1 ) =
'Complex precision'
112 sfmin = slamch(
'S' )
113 WRITE( nout, fmt = 9994 )
114 WRITE( nout, fmt = 9993 )eps, sfmin
115 WRITE( nout, fmt = 9992 )thresh
120 $
CALL cerrec( path, nout )
123 CALL cget35( rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl, nin )
124 IF( rtrsyl( 1 ).GT.thresh )
THEN
126 WRITE( nout, fmt = 9999 )rtrsyl( 1 ), ltrsyl, ntrsyl, ktrsyl
129 CALL csyl01( thresh, ftrsyl, rtrsyl, itrsyl, ktrsyl3 )
130 IF( ftrsyl( 1 ).GT.0 )
THEN
132 WRITE( nout, fmt = 9970 )ftrsyl( 1 ), rtrsyl( 1 ), thresh
134 IF( ftrsyl( 2 ).GT.0 )
THEN
136 WRITE( nout, fmt = 9971 )ftrsyl( 2 ), rtrsyl( 2 ), thresh
138 IF( ftrsyl( 3 ).GT.0 )
THEN
140 WRITE( nout, fmt = 9972 )ftrsyl( 3 )
143 CALL cget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
144 IF( rtrexc.GT.thresh .OR. ntrexc.GT.0 )
THEN
146 WRITE( nout, fmt = 9998 )rtrexc, ltrexc, ntrexc, ktrexc
149 CALL cget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
150 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
151 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
154 WRITE( nout, fmt = 9997 )rtrsna, ltrsna, ntrsna, ktrsna
157 CALL cget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
158 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
159 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
162 WRITE( nout, fmt = 9996 )rtrsen, ltrsen, ntrsen, ktrsen
165 ntests = ktrsyl + ktrexc + ktrsna + ktrsen
167 $
WRITE( nout, fmt = 9995 )path, ntests
169 9999
FORMAT(
' Error in CTRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
170 $
' NINFO=', i8,
' KNT=', i8 )
171 9998
FORMAT(
' Error in CTREXC: RMAX =', e12.3, /
' LMAX = ', i8,
172 $
' NINFO=', i8,
' KNT=', i8 )
173 9997
FORMAT(
' Error in CTRSNA: RMAX =', 3e12.3, /
' LMAX = ',
174 $ 3i8,
' NINFO=', 3i8,
' KNT=', i8 )
175 9996
FORMAT(
' Error in CTRSEN: RMAX =', 3e12.3, /
' LMAX = ',
176 $ 3i8,
' NINFO=', 3i8,
' KNT=', i8 )
177 9995
FORMAT( / 1x,
'All tests for ', a3,
178 $
' routines passed the threshold ( ', i6,
' tests run)' )
179 9994
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition',
180 $
' estimation routines', /
' CTRSYL, CTREXC, CTRSNA, CTRSEN',
182 9993
FORMAT(
' Relative machine precision (EPS) = ', e16.6,
183 $ /
' Safe minimum (SFMIN) = ', e16.6, / )
184 9992
FORMAT(
' Routines pass computational tests if test ratio is ',
185 $
'less than', f8.2, / / )
186 9972
FORMAT(
'CTRSYL and CTRSYL3 compute an inconsistent scale ',
187 $
'factor in ', i8,
' tests.')
188 9971
FORMAT(
'Error in CTRSYL3: ', i8,
' tests fail the threshold.', /
189 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
190 9970
FORMAT(
'Error in CTRSYL: ', i8,
' tests fail the threshold.', /
191 $
'Maximum test ratio =', d12.3,
' threshold =', d12.3 )
subroutine cchkec(thresh, tsterr, nin, nout)
CCHKEC
subroutine cerrec(path, nunit)
CERREC
subroutine cget35(rmax, lmax, ninfo, knt, nin)
CGET35
subroutine cget36(rmax, lmax, ninfo, knt, nin)
CGET36
subroutine cget37(rmax, lmax, ninfo, knt, nin)
CGET37
subroutine cget38(rmax, lmax, ninfo, knt, nin)
CGET38
subroutine csyl01(thresh, nfail, rmax, ninfo, knt)
CSYL01