1*> \brief \b ZERRQP
2*
3*  =========== DOCUMENTATION ===========
4*
5* Online html documentation available at
6*            http://www.netlib.org/lapack/explore-html/
7*
8*  Definition:
9*  ===========
10*
11*       SUBROUTINE ZERRQP( PATH, NUNIT )
12*
13*       .. Scalar Arguments ..
14*       CHARACTER*3        PATH
15*       INTEGER            NUNIT
16*       ..
17*
18*
19*> \par Purpose:
20*  =============
21*>
22*> \verbatim
23*>
24*> ZERRQP tests the error exits for ZGEQP3.
25*> \endverbatim
26*
27*  Arguments:
28*  ==========
29*
30*> \param[in] PATH
31*> \verbatim
32*>          PATH is CHARACTER*3
33*>          The LAPACK path name for the routines to be tested.
34*> \endverbatim
35*>
36*> \param[in] NUNIT
37*> \verbatim
38*>          NUNIT is INTEGER
39*>          The unit number for output.
40*> \endverbatim
41*
42*  Authors:
43*  ========
44*
45*> \author Univ. of Tennessee
46*> \author Univ. of California Berkeley
47*> \author Univ. of Colorado Denver
48*> \author NAG Ltd.
49*
50*> \ingroup complex16_lin
51*
52*  =====================================================================
53      SUBROUTINE ZERRQP( PATH, NUNIT )
54*
55*  -- LAPACK test routine --
56*  -- LAPACK is a software package provided by Univ. of Tennessee,    --
57*  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
58*
59*     .. Scalar Arguments ..
60      CHARACTER*3        PATH
61      INTEGER            NUNIT
62*     ..
63*
64*  =====================================================================
65*
66*     .. Parameters ..
67      INTEGER            NMAX
68      PARAMETER          ( NMAX = 3 )
69*     ..
70*     .. Local Scalars ..
71      CHARACTER*2        C2
72      INTEGER            INFO, LW
73*     ..
74*     .. Local Arrays ..
75      INTEGER            IP( NMAX )
76      DOUBLE PRECISION   RW( 2*NMAX )
77      COMPLEX*16         A( NMAX, NMAX ), TAU( NMAX ),
78     $                   W( 2*NMAX+3*NMAX )
79*     ..
80*     .. External Functions ..
81      LOGICAL            LSAMEN
82      EXTERNAL           LSAMEN
83*     ..
84*     .. External Subroutines ..
85      EXTERNAL           ALAESM, CHKXER, ZGEQP3
86*     ..
87*     .. Scalars in Common ..
88      LOGICAL            LERR, OK
89      CHARACTER*32       SRNAMT
90      INTEGER            INFOT, NOUT
91*     ..
92*     .. Common blocks ..
93      COMMON             / INFOC / INFOT, NOUT, OK, LERR
94      COMMON             / SRNAMC / SRNAMT
95*     ..
96*     .. Intrinsic Functions ..
97      INTRINSIC          DCMPLX
98*     ..
99*     .. Executable Statements ..
100*
101      NOUT = NUNIT
102      C2 = PATH( 2: 3 )
103      LW = NMAX + 1
104      A( 1, 1 ) = DCMPLX( 1.0D+0, -1.0D+0 )
105      A( 1, 2 ) = DCMPLX( 2.0D+0, -2.0D+0 )
106      A( 2, 2 ) = DCMPLX( 3.0D+0, -3.0D+0 )
107      A( 2, 1 ) = DCMPLX( 4.0D+0, -4.0D+0 )
108      OK = .TRUE.
109      WRITE( NOUT, FMT = * )
110*
111*     Test error exits for QR factorization with pivoting
112*
113      IF( LSAMEN( 2, C2, 'QP' ) ) THEN
114*
115*        ZGEQP3
116*
117         SRNAMT = 'ZGEQP3'
118         INFOT = 1
119         CALL ZGEQP3( -1, 0, A, 1, IP, TAU, W, LW, RW, INFO )
120         CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK )
121         INFOT = 2
122         CALL ZGEQP3( 1, -1, A, 1, IP, TAU, W, LW, RW, INFO )
123         CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK )
124         INFOT = 4
125         CALL ZGEQP3( 2, 3, A, 1, IP, TAU, W, LW, RW, INFO )
126         CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK )
127         INFOT = 8
128         CALL ZGEQP3( 2, 2, A, 2, IP, TAU, W, LW-10, RW, INFO )
129         CALL CHKXER( 'ZGEQP3', INFOT, NOUT, LERR, OK )
130      END IF
131*
132*     Print a summary line.
133*
134      CALL ALAESM( PATH, OK, NOUT )
135*
136      RETURN
137*
138*     End of ZERRQP
139*
140      END
141