3 * =========== DOCUMENTATION ===========
5 * Online html documentation available at
6 * http://www.netlib.org/lapack/explore-html/
11 * SUBROUTINE DERRRFP( NUNIT )
13 * .. Scalar Arguments ..
23 *> DERRRFP tests the error exits for the DOUBLE PRECISION driver routines
24 *> for solving linear systems of equations.
26 *> DDRVRFP tests the DOUBLE PRECISION LAPACK RFP routines:
27 *> DTFSM, DTFTRI, DSFRK, DTFTTP, DTFTTR, DPFTRF, DPFTRS, DTPTTF,
28 *> DTPTTR, DTRTTF, and DTRTTP
37 *> The unit number for output.
43 *> \author Univ. of Tennessee
44 *> \author Univ. of California Berkeley
45 *> \author Univ. of Colorado Denver
48 *> \date November 2011
50 *> \ingroup double_lin
52 * =====================================================================
53 SUBROUTINE DERRRFP( NUNIT )
55 * -- LAPACK test routine (version 3.4.0) --
56 * -- LAPACK is a software package provided by Univ. of Tennessee, --
57 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
60 * .. Scalar Arguments ..
64 * =====================================================================
69 DOUBLE PRECISION ALPHA, BETA
72 DOUBLE PRECISION A( 1, 1), B( 1, 1)
74 * .. External Subroutines ..
75 EXTERNAL CHKXER, DTFSM, DTFTRI, DSFRK, DTFTTP, DTFTTR,
76 + DPFTRI, DPFTRF, DPFTRS, DTPTTF, DTPTTR, DTRTTF,
79 * .. Scalars in Common ..
85 COMMON / INFOC / INFOT, NOUT, OK, LERR
86 COMMON / SRNAMC / SRNAMT
88 * .. Executable Statements ..
99 CALL DPFTRF( '/', 'U', 0, A, INFO )
100 CALL CHKXER( 'DPFTRF', INFOT, NOUT, LERR, OK )
102 CALL DPFTRF( 'N', '/', 0, A, INFO )
103 CALL CHKXER( 'DPFTRF', INFOT, NOUT, LERR, OK )
105 CALL DPFTRF( 'N', 'U', -1, A, INFO )
106 CALL CHKXER( 'DPFTRF', INFOT, NOUT, LERR, OK )
110 CALL DPFTRS( '/', 'U', 0, 0, A, B, 1, INFO )
111 CALL CHKXER( 'DPFTRS', INFOT, NOUT, LERR, OK )
113 CALL DPFTRS( 'N', '/', 0, 0, A, B, 1, INFO )
114 CALL CHKXER( 'DPFTRS', INFOT, NOUT, LERR, OK )
116 CALL DPFTRS( 'N', 'U', -1, 0, A, B, 1, INFO )
117 CALL CHKXER( 'DPFTRS', INFOT, NOUT, LERR, OK )
119 CALL DPFTRS( 'N', 'U', 0, -1, A, B, 1, INFO )
120 CALL CHKXER( 'DPFTRS', INFOT, NOUT, LERR, OK )
122 CALL DPFTRS( 'N', 'U', 0, 0, A, B, 0, INFO )
123 CALL CHKXER( 'DPFTRS', INFOT, NOUT, LERR, OK )
127 CALL DPFTRI( '/', 'U', 0, A, INFO )
128 CALL CHKXER( 'DPFTRI', INFOT, NOUT, LERR, OK )
130 CALL DPFTRI( 'N', '/', 0, A, INFO )
131 CALL CHKXER( 'DPFTRI', INFOT, NOUT, LERR, OK )
133 CALL DPFTRI( 'N', 'U', -1, A, INFO )
134 CALL CHKXER( 'DPFTRI', INFOT, NOUT, LERR, OK )
138 CALL DTFSM( '/', 'L', 'U', 'T', 'U', 0, 0, ALPHA, A, B, 1 )
139 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
141 CALL DTFSM( 'N', '/', 'U', 'T', 'U', 0, 0, ALPHA, A, B, 1 )
142 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
144 CALL DTFSM( 'N', 'L', '/', 'T', 'U', 0, 0, ALPHA, A, B, 1 )
145 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
147 CALL DTFSM( 'N', 'L', 'U', '/', 'U', 0, 0, ALPHA, A, B, 1 )
148 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
150 CALL DTFSM( 'N', 'L', 'U', 'T', '/', 0, 0, ALPHA, A, B, 1 )
151 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
153 CALL DTFSM( 'N', 'L', 'U', 'T', 'U', -1, 0, ALPHA, A, B, 1 )
154 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
156 CALL DTFSM( 'N', 'L', 'U', 'T', 'U', 0, -1, ALPHA, A, B, 1 )
157 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
159 CALL DTFSM( 'N', 'L', 'U', 'T', 'U', 0, 0, ALPHA, A, B, 0 )
160 CALL CHKXER( 'DTFSM ', INFOT, NOUT, LERR, OK )
164 CALL DTFTRI( '/', 'L', 'N', 0, A, INFO )
165 CALL CHKXER( 'DTFTRI', INFOT, NOUT, LERR, OK )
167 CALL DTFTRI( 'N', '/', 'N', 0, A, INFO )
168 CALL CHKXER( 'DTFTRI', INFOT, NOUT, LERR, OK )
170 CALL DTFTRI( 'N', 'L', '/', 0, A, INFO )
171 CALL CHKXER( 'DTFTRI', INFOT, NOUT, LERR, OK )
173 CALL DTFTRI( 'N', 'L', 'N', -1, A, INFO )
174 CALL CHKXER( 'DTFTRI', INFOT, NOUT, LERR, OK )
178 CALL DTFTTR( '/', 'U', 0, A, B, 1, INFO )
179 CALL CHKXER( 'DTFTTR', INFOT, NOUT, LERR, OK )
181 CALL DTFTTR( 'N', '/', 0, A, B, 1, INFO )
182 CALL CHKXER( 'DTFTTR', INFOT, NOUT, LERR, OK )
184 CALL DTFTTR( 'N', 'U', -1, A, B, 1, INFO )
185 CALL CHKXER( 'DTFTTR', INFOT, NOUT, LERR, OK )
187 CALL DTFTTR( 'N', 'U', 0, A, B, 0, INFO )
188 CALL CHKXER( 'DTFTTR', INFOT, NOUT, LERR, OK )
192 CALL DTRTTF( '/', 'U', 0, A, 1, B, INFO )
193 CALL CHKXER( 'DTRTTF', INFOT, NOUT, LERR, OK )
195 CALL DTRTTF( 'N', '/', 0, A, 1, B, INFO )
196 CALL CHKXER( 'DTRTTF', INFOT, NOUT, LERR, OK )
198 CALL DTRTTF( 'N', 'U', -1, A, 1, B, INFO )
199 CALL CHKXER( 'DTRTTF', INFOT, NOUT, LERR, OK )
201 CALL DTRTTF( 'N', 'U', 0, A, 0, B, INFO )
202 CALL CHKXER( 'DTRTTF', INFOT, NOUT, LERR, OK )
206 CALL DTFTTP( '/', 'U', 0, A, B, INFO )
207 CALL CHKXER( 'DTFTTP', INFOT, NOUT, LERR, OK )
209 CALL DTFTTP( 'N', '/', 0, A, B, INFO )
210 CALL CHKXER( 'DTFTTP', INFOT, NOUT, LERR, OK )
212 CALL DTFTTP( 'N', 'U', -1, A, B, INFO )
213 CALL CHKXER( 'DTFTTP', INFOT, NOUT, LERR, OK )
217 CALL DTPTTF( '/', 'U', 0, A, B, INFO )
218 CALL CHKXER( 'DTPTTF', INFOT, NOUT, LERR, OK )
220 CALL DTPTTF( 'N', '/', 0, A, B, INFO )
221 CALL CHKXER( 'DTPTTF', INFOT, NOUT, LERR, OK )
223 CALL DTPTTF( 'N', 'U', -1, A, B, INFO )
224 CALL CHKXER( 'DTPTTF', INFOT, NOUT, LERR, OK )
228 CALL DTRTTP( '/', 0, A, 1, B, INFO )
229 CALL CHKXER( 'DTRTTP', INFOT, NOUT, LERR, OK )
231 CALL DTRTTP( 'U', -1, A, 1, B, INFO )
232 CALL CHKXER( 'DTRTTP', INFOT, NOUT, LERR, OK )
234 CALL DTRTTP( 'U', 0, A, 0, B, INFO )
235 CALL CHKXER( 'DTRTTP', INFOT, NOUT, LERR, OK )
239 CALL DTPTTR( '/', 0, A, B, 1, INFO )
240 CALL CHKXER( 'DTPTTR', INFOT, NOUT, LERR, OK )
242 CALL DTPTTR( 'U', -1, A, B, 1, INFO )
243 CALL CHKXER( 'DTPTTR', INFOT, NOUT, LERR, OK )
245 CALL DTPTTR( 'U', 0, A, B, 0, INFO )
246 CALL CHKXER( 'DTPTTR', INFOT, NOUT, LERR, OK )
250 CALL DSFRK( '/', 'U', 'N', 0, 0, ALPHA, A, 1, BETA, B )
251 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
253 CALL DSFRK( 'N', '/', 'N', 0, 0, ALPHA, A, 1, BETA, B )
254 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
256 CALL DSFRK( 'N', 'U', '/', 0, 0, ALPHA, A, 1, BETA, B )
257 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
259 CALL DSFRK( 'N', 'U', 'N', -1, 0, ALPHA, A, 1, BETA, B )
260 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
262 CALL DSFRK( 'N', 'U', 'N', 0, -1, ALPHA, A, 1, BETA, B )
263 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
265 CALL DSFRK( 'N', 'U', 'N', 0, 0, ALPHA, A, 0, BETA, B )
266 CALL CHKXER( 'DSFRK ', INFOT, NOUT, LERR, OK )
268 * Print a summary line.
271 WRITE( NOUT, FMT = 9999 )
273 WRITE( NOUT, FMT = 9998 )
276 9999 FORMAT( 1X, 'DOUBLE PRECISION RFP routines passed the tests of ',
277 $ 'the error exits' )
278 9998 FORMAT( ' *** RFP routines failed the tests of the error ',