74 SUBROUTINE cchkec( THRESH, TSTERR, NIN, NOUT )
91 INTEGER KTREXC, KTRSEN, KTRSNA, KTRSYL, LTREXC, LTRSYL,
93 REAL EPS, RTREXC, RTRSYL, SFMIN
96 INTEGER LTRSEN( 3 ), LTRSNA( 3 ), NTRSEN( 3 ),
98 REAL RTRSEN( 3 ), RTRSNA( 3 )
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, ltrsyl, ntrsyl, ktrsyl, nin )
124 IF( rtrsyl.GT.thresh )
THEN
126 WRITE( nout, fmt = 9999 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
129 CALL cget36( 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 cget37( 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 cget38( 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
151 ntests = ktrsyl + ktrexc + ktrsna + ktrsen
153 $
WRITE( nout, fmt = 9995 )path, ntests
155 9999
FORMAT(
' Error in CTRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
156 $
' NINFO=', i8,
' KNT=', i8 )
157 9998
FORMAT(
' Error in CTREXC: RMAX =', e12.3, /
' LMAX = ', i8,
158 $
' NINFO=', i8,
' KNT=', i8 )
159 9997
FORMAT(
' Error in CTRSNA: RMAX =', 3e12.3, /
' LMAX = ',
160 $ 3i8,
' NINFO=', 3i8,
' KNT=', i8 )
161 9996
FORMAT(
' Error in CTRSEN: RMAX =', 3e12.3, /
' LMAX = ',
162 $ 3i8,
' 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', /
' CTRSYL, CTREXC, CTRSNA, CTRSEN',
168 9993
FORMAT(
' Relative machine precision (EPS) = ', e16.6,
169 $ /
' Safe minimum (SFMIN) = ', e16.6, / )
170 9992
FORMAT(
' Routines pass computational tests if test ratio is ',
171 $
'less than', f8.2, / / )