76 SUBROUTINE cchkec( THRESH, TSTERR, NIN, NOUT )
94 INTEGER ktrexc, ktrsen, ktrsna, ktrsyl, ltrexc, ltrsyl,
95 $ ntests, ntrexc, ntrsyl
96 REAL eps, rtrexc, rtrsyl, sfmin
99 INTEGER ltrsen( 3 ), ltrsna( 3 ), ntrsen( 3 ),
101 REAL rtrsen( 3 ), rtrsna( 3 )
112 path( 1: 1 ) =
'Complex precision'
116 WRITE( nout, fmt = 9994 )
117 WRITE( nout, fmt = 9993 )eps, sfmin
118 WRITE( nout, fmt = 9992 )thresh
123 $ CALL
cerrec( path, nout )
126 CALL
cget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl, nin )
127 IF( rtrsyl.GT.thresh )
THEN
129 WRITE( nout, fmt = 9999 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
132 CALL
cget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
133 IF( rtrexc.GT.thresh .OR. ntrexc.GT.0 )
THEN
135 WRITE( nout, fmt = 9998 )rtrexc, ltrexc, ntrexc, ktrexc
138 CALL
cget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
139 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
140 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
143 WRITE( nout, fmt = 9997 )rtrsna, ltrsna, ntrsna, ktrsna
146 CALL
cget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
147 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
148 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
151 WRITE( nout, fmt = 9996 )rtrsen, ltrsen, ntrsen, ktrsen
154 ntests = ktrsyl + ktrexc + ktrsna + ktrsen
156 $
WRITE( nout, fmt = 9995 )path, ntests
158 9999 format(
' Error in CTRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
159 $
' NINFO=', i8,
' KNT=', i8 )
160 9998 format(
' Error in CTREXC: RMAX =', e12.3, /
' LMAX = ', i8,
161 $
' NINFO=', i8,
' KNT=', i8 )
162 9997 format(
' Error in CTRSNA: RMAX =', 3e12.3, /
' LMAX = ',
163 $ 3i8,
' NINFO=', 3i8,
' KNT=', i8 )
164 9996 format(
' Error in CTRSEN: RMAX =', 3e12.3, /
' LMAX = ',
165 $ 3i8,
' NINFO=', 3i8,
' KNT=', i8 )
166 9995 format( / 1x,
'All tests for ', a3,
167 $
' routines passed the threshold ( ', i6,
' tests run)' )
168 9994 format(
' Tests of the Nonsymmetric eigenproblem condition',
169 $
' estimation routines', /
' CTRSYL, CTREXC, CTRSNA, CTRSEN',
171 9993 format(
' Relative machine precision (EPS) = ', e16.6,
172 $ /
' Safe minimum (SFMIN) = ', e16.6, / )
173 9992 format(
' Routines pass computational tests if test ratio is ',
174 $
'less than', f8.2, / / )