1       SUBROUTINE CERRRFP( NUNIT )
  2 *
  3 *  -- LAPACK test routine (version 3.2.0) --
  4 *     Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
  5 *     November 2008
  6 *
  7 *     .. Scalar Arguments ..
  8       INTEGER            NUNIT
  9 *     ..
 10 *
 11 *  Purpose
 12 *  =======
 13 *
 14 *  CERRRFP tests the error exits for the COMPLEX driver routines
 15 *  for solving linear systems of equations.
 16 *
 17 *  CDRVRFP tests the COMPLEX LAPACK RFP routines:
 18 *      CTFSM, CTFTRI, CHFRK, CTFTTP, CTFTTR, CPFTRF, CPFTRS, CTPTTF,
 19 *      CTPTTR, CTRTTF, and CTRTTP
 20 *
 21 *  Arguments
 22 *  =========
 23 *
 24 *  NUNIT   (input) INTEGER
 25 *          The unit number for output.
 26 *
 27 *  =====================================================================
 28 *
 29 *     ..
 30 *     .. Local Scalars ..
 31       INTEGER            INFO
 32       COMPLEX            ALPHA, BETA
 33 *     ..
 34 *     .. Local Arrays ..
 35       COMPLEX            A( 11), B( 11)
 36 *     ..
 37 *     .. External Subroutines ..
 38       EXTERNAL           CHKXER, CTFSM, CTFTRI, CHFRK, CTFTTP, CTFTTR,
 39      +                   CPFTRI, CPFTRF, CPFTRS, CTPTTF, CTPTTR, CTRTTF,
 40      +                   CTRTTP
 41 *     ..
 42 *     .. Scalars in Common ..
 43       LOGICAL            LERR, OK
 44       CHARACTER*32       SRNAMT
 45       INTEGER            INFOT, NOUT
 46 *     ..
 47 *     .. Intrinsic Functions ..
 48       INTRINSIC          CMPLX
 49 *     ..
 50 *     .. Common blocks ..
 51       COMMON             / INFOC / INFOT, NOUT, OK, LERR
 52       COMMON             / SRNAMC / SRNAMT
 53 *     ..
 54 *     .. Executable Statements ..
 55 *
 56       NOUT = NUNIT
 57       OK = .TRUE.
 58       A( 11 ) = CMPLX1.D0 , 1.D0  )
 59       B( 11 ) = CMPLX1.D0 , 1.D0  )
 60       ALPHA     = CMPLX1.D0 , 1.D0  )
 61       BETA      = CMPLX1.D0 , 1.D0  )
 62 *
 63       SRNAMT = 'CPFTRF'
 64       INFOT = 1
 65       CALL CPFTRF( '/''U'0, A, INFO )
 66       CALL CHKXER( 'CPFTRF', INFOT, NOUT, LERR, OK )
 67       INFOT = 2
 68       CALL CPFTRF( 'N''/'0, A, INFO )
 69       CALL CHKXER( 'CPFTRF', INFOT, NOUT, LERR, OK )
 70       INFOT = 3
 71       CALL CPFTRF( 'N''U'-1, A, INFO )
 72       CALL CHKXER( 'CPFTRF', INFOT, NOUT, LERR, OK )
 73 *
 74       SRNAMT = 'CPFTRS'
 75       INFOT = 1
 76       CALL CPFTRS( '/''U'00, A, B, 1, INFO )
 77       CALL CHKXER( 'CPFTRS', INFOT, NOUT, LERR, OK )
 78       INFOT = 2
 79       CALL CPFTRS( 'N''/'00, A, B, 1, INFO )
 80       CALL CHKXER( 'CPFTRS', INFOT, NOUT, LERR, OK )
 81       INFOT = 3
 82       CALL CPFTRS( 'N''U'-10, A, B, 1, INFO )
 83       CALL CHKXER( 'CPFTRS', INFOT, NOUT, LERR, OK )
 84       INFOT = 4
 85       CALL CPFTRS( 'N''U'0-1, A, B, 1, INFO )
 86       CALL CHKXER( 'CPFTRS', INFOT, NOUT, LERR, OK )
 87       INFOT = 7
 88       CALL CPFTRS( 'N''U'00, A, B, 0, INFO )
 89       CALL CHKXER( 'CPFTRS', INFOT, NOUT, LERR, OK )
 90 *
 91       SRNAMT = 'CPFTRI'
 92       INFOT = 1
 93       CALL CPFTRI( '/''U'0, A, INFO )
 94       CALL CHKXER( 'CPFTRI', INFOT, NOUT, LERR, OK )
 95       INFOT = 2
 96       CALL CPFTRI( 'N''/'0, A, INFO )
 97       CALL CHKXER( 'CPFTRI', INFOT, NOUT, LERR, OK )
 98       INFOT = 3
 99       CALL CPFTRI( 'N''U'-1, A, INFO )
100       CALL CHKXER( 'CPFTRI', INFOT, NOUT, LERR, OK )
101 *
102       SRNAMT = 'CTFSM '
103       INFOT = 1
104       CALL CTFSM( '/''L''U''C''U'00, ALPHA, A, B, 1 )
105       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
106       INFOT = 2
107       CALL CTFSM( 'N''/''U''C''U'00, ALPHA, A, B, 1 )
108       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
109       INFOT = 3
110       CALL CTFSM( 'N''L''/''C''U'00, ALPHA, A, B, 1 )
111       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
112       INFOT = 4
113       CALL CTFSM( 'N''L''U''/''U'00, ALPHA, A, B, 1 )
114       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
115       INFOT = 5
116       CALL CTFSM( 'N''L''U''C''/'00, ALPHA, A, B, 1 )
117       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
118       INFOT = 6
119       CALL CTFSM( 'N''L''U''C''U'-10, ALPHA, A, B, 1 )
120       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
121       INFOT = 7
122       CALL CTFSM( 'N''L''U''C''U'0-1, ALPHA, A, B, 1 )
123       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
124       INFOT = 11
125       CALL CTFSM( 'N''L''U''C''U'00, ALPHA, A, B, 0 )
126       CALL CHKXER( 'CTFSM ', INFOT, NOUT, LERR, OK )
127 *
128       SRNAMT = 'CTFTRI'
129       INFOT = 1
130       CALL CTFTRI( '/''L''N'0, A, INFO )
131       CALL CHKXER( 'CTFTRI', INFOT, NOUT, LERR, OK )
132       INFOT = 2
133       CALL CTFTRI( 'N''/''N'0, A, INFO )
134       CALL CHKXER( 'CTFTRI', INFOT, NOUT, LERR, OK )
135       INFOT = 3
136       CALL CTFTRI( 'N''L''/'0, A, INFO )
137       CALL CHKXER( 'CTFTRI', INFOT, NOUT, LERR, OK )
138       INFOT = 4
139       CALL CTFTRI( 'N''L''N'-1, A, INFO )
140       CALL CHKXER( 'CTFTRI', INFOT, NOUT, LERR, OK )
141 *
142       SRNAMT = 'CTFTTR'
143       INFOT = 1
144       CALL CTFTTR( '/''U'0, A, B, 1, INFO )
145       CALL CHKXER( 'CTFTTR', INFOT, NOUT, LERR, OK )
146       INFOT = 2
147       CALL CTFTTR( 'N''/'0, A, B, 1, INFO )
148       CALL CHKXER( 'CTFTTR', INFOT, NOUT, LERR, OK )
149       INFOT = 3
150       CALL CTFTTR( 'N''U'-1, A, B, 1, INFO )
151       CALL CHKXER( 'CTFTTR', INFOT, NOUT, LERR, OK )
152       INFOT = 6
153       CALL CTFTTR( 'N''U'0, A, B, 0, INFO )
154       CALL CHKXER( 'CTFTTR', INFOT, NOUT, LERR, OK )
155 *
156       SRNAMT = 'CTRTTF'
157       INFOT = 1
158       CALL CTRTTF( '/''U'0, A, 1, B, INFO )
159       CALL CHKXER( 'CTRTTF', INFOT, NOUT, LERR, OK )
160       INFOT = 2
161       CALL CTRTTF( 'N''/'0, A, 1, B, INFO )
162       CALL CHKXER( 'CTRTTF', INFOT, NOUT, LERR, OK )
163       INFOT = 3
164       CALL CTRTTF( 'N''U'-1, A, 1, B, INFO )
165       CALL CHKXER( 'CTRTTF', INFOT, NOUT, LERR, OK )
166       INFOT = 5
167       CALL CTRTTF( 'N''U'0, A, 0, B, INFO )
168       CALL CHKXER( 'CTRTTF', INFOT, NOUT, LERR, OK )
169 *
170       SRNAMT = 'CTFTTP'
171       INFOT = 1
172       CALL CTFTTP( '/''U'0, A, B, INFO )
173       CALL CHKXER( 'CTFTTP', INFOT, NOUT, LERR, OK )
174       INFOT = 2
175       CALL CTFTTP( 'N''/'0, A, B, INFO )
176       CALL CHKXER( 'CTFTTP', INFOT, NOUT, LERR, OK )
177       INFOT = 3
178       CALL CTFTTP( 'N''U'-1, A, B, INFO )
179       CALL CHKXER( 'CTFTTP', INFOT, NOUT, LERR, OK )
180 *
181       SRNAMT = 'CTPTTF'
182       INFOT = 1
183       CALL CTPTTF( '/''U'0, A, B, INFO )
184       CALL CHKXER( 'CTPTTF', INFOT, NOUT, LERR, OK )
185       INFOT = 2
186       CALL CTPTTF( 'N''/'0, A, B, INFO )
187       CALL CHKXER( 'CTPTTF', INFOT, NOUT, LERR, OK )
188       INFOT = 3
189       CALL CTPTTF( 'N''U'-1, A, B, INFO )
190       CALL CHKXER( 'CTPTTF', INFOT, NOUT, LERR, OK )
191 *
192       SRNAMT = 'CTRTTP'
193       INFOT = 1
194       CALL CTRTTP( '/'0, A, 1,  B, INFO )
195       CALL CHKXER( 'CTRTTP', INFOT, NOUT, LERR, OK )
196       INFOT = 2
197       CALL CTRTTP( 'U'-1, A, 1,  B, INFO )
198       CALL CHKXER( 'CTRTTP', INFOT, NOUT, LERR, OK )
199       INFOT = 4
200       CALL CTRTTP( 'U'0, A, 0,  B, INFO )
201       CALL CHKXER( 'CTRTTP', INFOT, NOUT, LERR, OK )
202 *
203       SRNAMT = 'CTPTTR'
204       INFOT = 1
205       CALL CTPTTR( '/'0, A, B, 1,  INFO )
206       CALL CHKXER( 'CTPTTR', INFOT, NOUT, LERR, OK )
207       INFOT = 2
208       CALL CTPTTR( 'U'-1, A, B, 1,  INFO )
209       CALL CHKXER( 'CTPTTR', INFOT, NOUT, LERR, OK )
210       INFOT = 5
211       CALL CTPTTR( 'U'0, A, B, 0, INFO )
212       CALL CHKXER( 'CTPTTR', INFOT, NOUT, LERR, OK )
213 *
214       SRNAMT = 'CHFRK '
215       INFOT = 1
216       CALL CHFRK( '/''U''N'00, ALPHA, A, 1, BETA, B )
217       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
218       INFOT = 2
219       CALL CHFRK( 'N''/''N'00, ALPHA, A, 1, BETA, B )
220       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
221       INFOT = 3
222       CALL CHFRK( 'N''U''/'00, ALPHA, A, 1, BETA, B )
223       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
224       INFOT = 4
225       CALL CHFRK( 'N''U''N'-10, ALPHA, A, 1, BETA, B )
226       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
227       INFOT = 5
228       CALL CHFRK( 'N''U''N'0-1, ALPHA, A, 1, BETA, B )
229       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
230       INFOT = 8
231       CALL CHFRK( 'N''U''N'00, ALPHA, A, 0, BETA, B )
232       CALL CHKXER( 'CHFRK ', INFOT, NOUT, LERR, OK )
233 *
234 *     Print a summary line.
235 *
236       IF( OK ) THEN
237          WRITE( NOUT, FMT = 9999 )
238       ELSE
239          WRITE( NOUT, FMT = 9998 )
240       END IF
241 *
242  9999 FORMAT1X'COMPLEX RFP routines passed the tests of the ',
243      $        'error exits' )
244  9998 FORMAT' *** RFP routines failed the tests of the error ',
245      $        'exits ***' )
246       RETURN
247 *
248 *     End of CERRRFP
249 *
250       END