152 SUBROUTINE cunbdb5( M1, M2, N, X1, INCX1, X2, INCX2, Q1, LDQ1,
154 $ LDQ2, WORK, LWORK, INFO )
161 INTEGER INCX1, INCX2, INFO, LDQ1, LDQ2, LWORK, M1, M2,
165 COMPLEX Q1(LDQ1,*), Q2(LDQ2,*), WORK(*), X1(*), X2(*)
172 PARAMETER ( REALZERO = 0.0e0 )
174 parameter( one = (1.0e0,0.0e0), zero = (0.0e0,0.0e0) )
177 INTEGER CHILDINFO, I, J
178 REAL EPS, NORM, SCL, SSQ
185 EXTERNAL SLAMCH, SCNRM2
197 ELSE IF( m2 .LT. 0 )
THEN
199 ELSE IF( n .LT. 0 )
THEN
201 ELSE IF( incx1 .LT. 1 )
THEN
203 ELSE IF( incx2 .LT. 1 )
THEN
205 ELSE IF( ldq1 .LT. max( 1, m1 ) )
THEN
207 ELSE IF( ldq2 .LT. max( 1, m2 ) )
THEN
209 ELSE IF( lwork .LT. n )
THEN
213 IF( info .NE. 0 )
THEN
214 CALL xerbla(
'CUNBDB5', -info )
218 eps = slamch(
'Precision' )
224 CALL classq( m1, x1, incx1, scl, ssq )
225 CALL classq( m2, x2, incx2, scl, ssq )
226 norm = scl * sqrt( ssq )
228 IF( norm .GT. real( n ) * eps )
THEN
234 CALL cscal( m1, one / norm, x1, incx1 )
235 CALL cscal( m2, one / norm, x2, incx2 )
236 CALL cunbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,
237 $ ldq2, work, lwork, childinfo )
241 IF( scnrm2(m1,x1,incx1) .NE. realzero
242 $ .OR. scnrm2(m2,x2,incx2) .NE. realzero )
THEN
258 CALL cunbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,
259 $ ldq2, work, lwork, childinfo )
260 IF( scnrm2(m1,x1,incx1) .NE. realzero
261 $ .OR. scnrm2(m2,x2,incx2) .NE. realzero )
THEN
277 CALL cunbdb6( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2,
278 $ ldq2, work, lwork, childinfo )
279 IF( scnrm2(m1,x1,incx1) .NE. realzero
280 $ .OR. scnrm2(m2,x2,incx2) .NE. realzero )
THEN
subroutine cunbdb5(m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info)
CUNBDB5
subroutine cunbdb6(m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info)
CUNBDB6