LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ cerrqp()

subroutine cerrqp ( character*3  PATH,
integer  NUNIT 
)

CERRQP

Purpose:
 CERRQP tests the error exits for CGEQP3.
Parameters
[in]PATH
          PATH is CHARACTER*3
          The LAPACK path name for the routines to be tested.
[in]NUNIT
          NUNIT is INTEGER
          The unit number for output.
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.

Definition at line 53 of file cerrqp.f.

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  REAL RW( 2*NMAX )
77  COMPLEX 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, cgeqp3, chkxer
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 cmplx
98 * ..
99 * .. Executable Statements ..
100 *
101  nout = nunit
102  c2 = path( 2: 3 )
103  lw = nmax + 1
104  a( 1, 1 ) = cmplx( 1.0e+0, -1.0e+0 )
105  a( 1, 2 ) = cmplx( 2.0e+0, -2.0e+0 )
106  a( 2, 2 ) = cmplx( 3.0e+0, -3.0e+0 )
107  a( 2, 1 ) = cmplx( 4.0e+0, -4.0e+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 * CGEQP3
116 *
117  srnamt = 'CGEQP3'
118  infot = 1
119  CALL cgeqp3( -1, 0, a, 1, ip, tau, w, lw, rw, info )
120  CALL chkxer( 'CGEQP3', infot, nout, lerr, ok )
121  infot = 2
122  CALL cgeqp3( 1, -1, a, 1, ip, tau, w, lw, rw, info )
123  CALL chkxer( 'CGEQP3', infot, nout, lerr, ok )
124  infot = 4
125  CALL cgeqp3( 2, 3, a, 1, ip, tau, w, lw, rw, info )
126  CALL chkxer( 'CGEQP3', infot, nout, lerr, ok )
127  infot = 8
128  CALL cgeqp3( 2, 2, a, 2, ip, tau, w, lw-10, rw, info )
129  CALL chkxer( 'CGEQP3', 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 CERRQP
139 *
subroutine chkxer(SRNAMT, INFOT, NOUT, LERR, OK)
Definition: cblat2.f:3196
logical function lsamen(N, CA, CB)
LSAMEN
Definition: lsamen.f:74
subroutine alaesm(PATH, OK, NOUT)
ALAESM
Definition: alaesm.f:63
subroutine cgeqp3(M, N, A, LDA, JPVT, TAU, WORK, LWORK, RWORK, INFO)
CGEQP3
Definition: cgeqp3.f:159
Here is the call graph for this function: