75 SUBROUTINE schkec( THRESH, TSTERR, NIN, NOUT )
92 INTEGER KLAEXC, KLALN2, KLANV2, KLAQTR, , KTREXC,
93 $ KTRSEN, KTRSNA, KTRSYL, LLAEXC, LLALN2, LLANV2,
94 $ LLAQTR, LLASY2, LTREXC, LTRSYL, NLANV2, NLAQTR,
95 $ NLASY2, NTESTS, NTRSYL, KTGEXC, NTGEXC, LTGEXC
96 REAL EPS, RLAEXC, RLALN2, RLANV2, RLAQTR, RLASY2,
97 $ RTREXC, RTRSYL, SFMIN, RTGEXC
100 INTEGER LTRSEN( 3 ), LTRSNA( 3 ), NLAEXC( 2 ),
101 $ NLALN2( 2 ), NTREXC( 3 ), NTRSEN( 3 ),
103 REAL RTRSEN( 3 ), RTRSNA( 3 )
115 path( 1: 1 ) =
'Single precision'
118 sfmin = slamch(
'S' )
122 WRITE( nout, fmt = 9989 )
123 WRITE( nout, fmt = 9988 )eps, sfmin
124 WRITE( nout, fmt = 9987 )thresh
129 $
CALL serrec( path, nout )
132 CALL sget31( rlaln2, llaln2, nlaln2, klaln2 )
133 IF( rlaln2.GT.thresh .OR. nlaln2( 1 ).NE.0 )
THEN
135 WRITE( nout, fmt = 9999 )rlaln2, llaln2, nlaln2, klaln2
138 CALL sget32( rlasy2, llasy2, nlasy2, klasy2 )
139 IF( rlasy2.GT.thresh )
THEN
141 WRITE( nout, fmt = 9998 )rlasy2, llasy2, nlasy2, klasy2
144 CALL sget33( rlanv2, llanv2, nlanv2, klanv2 )
145 IF( rlanv2.GT.thresh .OR. nlanv2.NE.0 )
THEN
147 WRITE( nout, fmt = 9997 )rlanv2, llanv2, nlanv2, klanv2
150 CALL sget34( rlaexc, llaexc, nlaexc, klaexc )
151 IF( rlaexc.GT.thresh .OR. nlaexc( 2 ).NE.0 )
THEN
153 WRITE( nout, fmt = 9996 )rlaexc, llaexc, nlaexc, klaexc
156 CALL sget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl )
157 IF( rtrsyl.GT.thresh )
THEN
159 WRITE( nout, fmt = 9995 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
162 CALL sget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
163 IF( rtrexc.GT.thresh .OR. ntrexc( 3 ).GT.0 )
THEN
165 WRITE( nout, fmt = 9994 )rtrexc, ltrexc, ntrexc, ktrexc
168 CALL sget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
169 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
170 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
173 WRITE( nout, fmt = 9993 )rtrsna, ltrsna, ntrsna, ktrsna
176 CALL sget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
177 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
178 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
181 WRITE( nout, fmt = 9992 )rtrsen, ltrsen, ntrsen, ktrsen
184 CALL sget39( rlaqtr, llaqtr, nlaqtr, klaqtr )
185 IF( rlaqtr.GT.thresh )
THEN
187 WRITE( nout, fmt = 9991 )rlaqtr, llaqtr, nlaqtr, klaqtr
190 CALL sget40( rtgexc, ltgexc, ntgexc, ktgexc, nin )
191 IF( rtgexc.GT.thresh )
THEN
193 WRITE( nout, fmt = 9986 )rtgexc, ltgexc, ntgexc, ktgexc
196 ntests = klaln2 + klasy2 + klanv2 + klaexc + ktrsyl + ktrexc +
197 $ ktrsna + ktrsen + klaqtr
199 $
WRITE( nout, fmt = 9990 )path, ntests
202 9999
FORMAT(
' Error in SLALN2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
203 $
'INFO=', 2i8,
' KNT=', i8 )
204 9998
FORMAT(
' Error in SLASY2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
205 $
'INFO=', i8,
' KNT=', i8 )
206 9997
FORMAT(
' Error in SLANV2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
207 $
'INFO=', i8,
' KNT=', i8 )
208 9996
FORMAT(
' Error in SLAEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
209 $
'INFO=', 2i8,
' KNT=', i8 )
210 9995
FORMAT(
' Error in STRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
211 $
'INFO=', i8,
' KNT=', i8 )
212 9994
FORMAT(
' Error in STREXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
213 $
'INFO=', 3i8,
' KNT=', i8 )
214 9993
FORMAT(
' Error in STRSNA: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
215 $
' NINFO=', 3i8,
' KNT=', i8 )
216 9992
FORMAT(
' Error in STRSEN: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
217 $
' NINFO=', 3i8,
' KNT=', i8 )
218 9991
FORMAT(
' Error in SLAQTR: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
219 $
'INFO=', i8,
' KNT=', i8 )
220 9990
FORMAT( / 1x,
'All tests for ', a3,
' routines passed the thresh',
221 $
'old ( ', i6,
' tests run)' )
222 9989
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition estim',
223 $
'ation routines', /
' SLALN2, SLASY2, SLANV2, SLAEXC, STRS',
224 $
'YL, STREXC, STRSNA, STRSEN, SLAQTR', / )
225 9988
FORMAT(
' Relative machine precision (EPS) = ', e16.6, /
' Safe ',
226 $
'minimum (SFMIN) = ', e16.6, / )
227 9987
FORMAT(
' Routines pass computational tests if test ratio is les',
228 $
's than', f8.2, / / )
229 9986
FORMAT(
' Error in STGEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
230 $
'INFO=', i8,
' KNT=', i8 )