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