LAPACK  3.8.0
LAPACK: Linear Algebra PACKage

◆ dlafts()

subroutine dlafts ( character*3  TYPE,
integer  M,
integer  N,
integer  IMAT,
integer  NTESTS,
double precision, dimension( * )  RESULT,
integer, dimension( 4 )  ISEED,
double precision  THRESH,
integer  IOUNIT,
integer  IE 
)

DLAFTS

Purpose:
    DLAFTS tests the result vector against the threshold value to
    see which tests for this matrix type failed to pass the threshold.
    Output is to the file given by unit IOUNIT.
  TYPE   - CHARACTER*3
           On entry, TYPE specifies the matrix type to be used in the
           printed messages.
           Not modified.

  N      - INTEGER
           On entry, N specifies the order of the test matrix.
           Not modified.

  IMAT   - INTEGER
           On entry, IMAT specifies the type of the test matrix.
           A listing of the different types is printed by DLAHD2
           to the output file if a test fails to pass the threshold.
           Not modified.

  NTESTS - INTEGER
           On entry, NTESTS is the number of tests performed on the
           subroutines in the path given by TYPE.
           Not modified.

  RESULT - DOUBLE PRECISION               array of dimension( NTESTS )
           On entry, RESULT contains the test ratios from the tests
           performed in the calling program.
           Not modified.

  ISEED  - INTEGER            array of dimension( 4 )
           Contains the random seed that generated the matrix used
           for the tests whose ratios are in RESULT.
           Not modified.

  THRESH - DOUBLE PRECISION
           On entry, THRESH specifies the acceptable threshold of the
           test ratios.  If RESULT( K ) > THRESH, then the K-th test
           did not pass the threshold and a message will be printed.
           Not modified.

  IOUNIT - INTEGER
           On entry, IOUNIT specifies the unit number of the file
           to which the messages are printed.
           Not modified.

  IE     - INTEGER
           On entry, IE contains the number of tests which have
           failed to pass the threshold so far.
           Updated on exit if any of the ratios in RESULT also fail.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date
December 2016

Definition at line 101 of file dlafts.f.

101 *
102 * -- LAPACK test routine (version 3.7.0) --
103 * -- LAPACK is a software package provided by Univ. of Tennessee, --
104 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
105 * December 2016
106 *
107 * .. Scalar Arguments ..
108  CHARACTER*3 type
109  INTEGER ie, imat, iounit, m, n, ntests
110  DOUBLE PRECISION thresh
111 * ..
112 * .. Array Arguments ..
113  INTEGER iseed( 4 )
114  DOUBLE PRECISION result( * )
115 * ..
116 *
117 * =====================================================================
118 *
119 * .. Local Scalars ..
120  INTEGER k
121 * ..
122 * .. External Subroutines ..
123  EXTERNAL dlahd2
124 * ..
125 * .. Executable Statements ..
126 *
127  IF( m.EQ.n ) THEN
128 *
129 * Output for square matrices:
130 *
131  DO 10 k = 1, ntests
132  IF( result( k ).GE.thresh ) THEN
133 *
134 * If this is the first test to fail, call DLAHD2
135 * to print a header to the data file.
136 *
137  IF( ie.EQ.0 )
138  $ CALL dlahd2( iounit, TYPE )
139  ie = ie + 1
140  IF( result( k ).LT.10000.0d0 ) THEN
141  WRITE( iounit, fmt = 9999 )n, imat, iseed, k,
142  $ result( k )
143  9999 FORMAT( ' Matrix order=', i5, ', type=', i2,
144  $ ', seed=', 4( i4, ',' ), ' result ', i3, ' is',
145  $ 0p, f8.2 )
146  ELSE
147  WRITE( iounit, fmt = 9998 )n, imat, iseed, k,
148  $ result( k )
149  9998 FORMAT( ' Matrix order=', i5, ', type=', i2,
150  $ ', seed=', 4( i4, ',' ), ' result ', i3, ' is',
151  $ 1p, d10.3 )
152  END IF
153  END IF
154  10 CONTINUE
155  ELSE
156 *
157 * Output for rectangular matrices
158 *
159  DO 20 k = 1, ntests
160  IF( result( k ).GE.thresh ) THEN
161 *
162 * If this is the first test to fail, call DLAHD2
163 * to print a header to the data file.
164 *
165  IF( ie.EQ.0 )
166  $ CALL dlahd2( iounit, TYPE )
167  ie = ie + 1
168  IF( result( k ).LT.10000.0d0 ) THEN
169  WRITE( iounit, fmt = 9997 )m, n, imat, iseed, k,
170  $ result( k )
171  9997 FORMAT( 1x, i5, ' x', i5, ' matrix, type=', i2, ', s',
172  $ 'eed=', 3( i4, ',' ), i4, ': result ', i3,
173  $ ' is', 0p, f8.2 )
174  ELSE
175  WRITE( iounit, fmt = 9996 )m, n, imat, iseed, k,
176  $ result( k )
177  9996 FORMAT( 1x, i5, ' x', i5, ' matrix, type=', i2, ', s',
178  $ 'eed=', 3( i4, ',' ), i4, ': result ', i3,
179  $ ' is', 1p, d10.3 )
180  END IF
181  END IF
182  20 CONTINUE
183 *
184  END IF
185  RETURN
186 *
187 * End of DLAFTS
188 *
subroutine dlahd2(IOUNIT, PATH)
DLAHD2
Definition: dlahd2.f:67
Here is the call graph for this function:
Here is the caller graph for this function: