77 SUBROUTINE schkec( THRESH, TSTERR, NIN, NOUT )
95 INTEGER KLAEXC, KLALN2, KLANV2, KLAQTR, KLASY2, KTREXC,
96 $ ktrsen, ktrsna, ktrsyl, llaexc, llaln2, llanv2,
97 $ llaqtr, llasy2, ltrexc, ltrsyl, nlanv2, nlaqtr,
98 $ nlasy2, ntests, ntrsyl
99 REAL EPS, RLAEXC, RLALN2, RLANV2, RLAQTR, RLASY2,
100 $ rtrexc, rtrsyl, sfmin
103 INTEGER LTRSEN( 3 ), LTRSNA( 3 ), NLAEXC( 2 ),
104 $ nlaln2( 2 ), ntrexc( 3 ), ntrsen( 3 ),
106 REAL RTRSEN( 3 ), RTRSNA( 3 )
118 path( 1: 1 ) =
'Single precision'
121 sfmin = slamch(
'S' )
125 WRITE( nout, fmt = 9989 )
126 WRITE( nout, fmt = 9988 )eps, sfmin
127 WRITE( nout, fmt = 9987 )thresh
132 $
CALL serrec( path, nout )
135 CALL sget31( rlaln2, llaln2, nlaln2, klaln2 )
136 IF( rlaln2.GT.thresh .OR. nlaln2( 1 ).NE.0 )
THEN
138 WRITE( nout, fmt = 9999 )rlaln2, llaln2, nlaln2, klaln2
141 CALL sget32( rlasy2, llasy2, nlasy2, klasy2 )
142 IF( rlasy2.GT.thresh )
THEN
144 WRITE( nout, fmt = 9998 )rlasy2, llasy2, nlasy2, klasy2
147 CALL sget33( rlanv2, llanv2, nlanv2, klanv2 )
148 IF( rlanv2.GT.thresh .OR. nlanv2.NE.0 )
THEN
150 WRITE( nout, fmt = 9997 )rlanv2, llanv2, nlanv2, klanv2
153 CALL sget34( rlaexc, llaexc, nlaexc, klaexc )
154 IF( rlaexc.GT.thresh .OR. nlaexc( 2 ).NE.0 )
THEN
156 WRITE( nout, fmt = 9996 )rlaexc, llaexc, nlaexc, klaexc
159 CALL sget35( rtrsyl, ltrsyl, ntrsyl, ktrsyl )
160 IF( rtrsyl.GT.thresh )
THEN
162 WRITE( nout, fmt = 9995 )rtrsyl, ltrsyl, ntrsyl, ktrsyl
165 CALL sget36( rtrexc, ltrexc, ntrexc, ktrexc, nin )
166 IF( rtrexc.GT.thresh .OR. ntrexc( 3 ).GT.0 )
THEN
168 WRITE( nout, fmt = 9994 )rtrexc, ltrexc, ntrexc, ktrexc
171 CALL sget37( rtrsna, ltrsna, ntrsna, ktrsna, nin )
172 IF( rtrsna( 1 ).GT.thresh .OR. rtrsna( 2 ).GT.thresh .OR.
173 $ ntrsna( 1 ).NE.0 .OR. ntrsna( 2 ).NE.0 .OR. ntrsna( 3 ).NE.0 )
176 WRITE( nout, fmt = 9993 )rtrsna, ltrsna, ntrsna, ktrsna
179 CALL sget38( rtrsen, ltrsen, ntrsen, ktrsen, nin )
180 IF( rtrsen( 1 ).GT.thresh .OR. rtrsen( 2 ).GT.thresh .OR.
181 $ ntrsen( 1 ).NE.0 .OR. ntrsen( 2 ).NE.0 .OR. ntrsen( 3 ).NE.0 )
184 WRITE( nout, fmt = 9992 )rtrsen, ltrsen, ntrsen, ktrsen
187 CALL sget39( rlaqtr, llaqtr, nlaqtr, klaqtr )
188 IF( rlaqtr.GT.thresh )
THEN
190 WRITE( nout, fmt = 9991 )rlaqtr, llaqtr, nlaqtr, klaqtr
193 ntests = klaln2 + klasy2 + klanv2 + klaexc + ktrsyl + ktrexc +
194 $ ktrsna + ktrsen + klaqtr
196 $
WRITE( nout, fmt = 9990 )path, ntests
199 9999
FORMAT(
' Error in SLALN2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
200 $
'INFO=', 2i8,
' KNT=', i8 )
201 9998
FORMAT(
' Error in SLASY2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
202 $
'INFO=', i8,
' KNT=', i8 )
203 9997
FORMAT(
' Error in SLANV2: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
204 $
'INFO=', i8,
' KNT=', i8 )
205 9996
FORMAT(
' Error in SLAEXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
206 $
'INFO=', 2i8,
' KNT=', i8 )
207 9995
FORMAT(
' Error in STRSYL: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
208 $
'INFO=', i8,
' KNT=', i8 )
209 9994
FORMAT(
' Error in STREXC: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
210 $
'INFO=', 3i8,
' KNT=', i8 )
211 9993
FORMAT(
' Error in STRSNA: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
212 $
' NINFO=', 3i8,
' KNT=', i8 )
213 9992
FORMAT(
' Error in STRSEN: RMAX =', 3e12.3, /
' LMAX = ', 3i8,
214 $
' NINFO=', 3i8,
' KNT=', i8 )
215 9991
FORMAT(
' Error in SLAQTR: RMAX =', e12.3, /
' LMAX = ', i8,
' N',
216 $
'INFO=', i8,
' KNT=', i8 )
217 9990
FORMAT( / 1x,
'All tests for ', a3,
' routines passed the thresh',
218 $
'old ( ', i6,
' tests run)' )
219 9989
FORMAT(
' Tests of the Nonsymmetric eigenproblem condition estim',
220 $
'ation routines', /
' SLALN2, SLASY2, SLANV2, SLAEXC, STRS',
221 $
'YL, STREXC, STRSNA, STRSEN, SLAQTR', / )
222 9988
FORMAT(
' Relative machine precision (EPS) = ', e16.6, /
' Safe ',
223 $
'minimum (SFMIN) = ', e16.6, / )
224 9987
FORMAT(
' Routines pass computational tests if test ratio is les',
225 $
's than', f8.2, / / )
subroutine serrec(PATH, NUNIT)
SERREC
subroutine sget38(RMAX, LMAX, NINFO, KNT, NIN)
SGET38
subroutine schkec(THRESH, TSTERR, NIN, NOUT)
SCHKEC
subroutine sget31(RMAX, LMAX, NINFO, KNT)
SGET31
subroutine sget37(RMAX, LMAX, NINFO, KNT, NIN)
SGET37
subroutine sget35(RMAX, LMAX, NINFO, KNT)
SGET35
subroutine sget33(RMAX, LMAX, NINFO, KNT)
SGET33
subroutine sget39(RMAX, LMAX, NINFO, KNT)
SGET39
subroutine sget32(RMAX, LMAX, NINFO, KNT)
SGET32
subroutine sget34(RMAX, LMAX, NINFO, KNT)
SGET34
subroutine sget36(RMAX, LMAX, NINFO, KNT, NIN)
SGET36