160 SUBROUTINE claqgb( M, N, KL, KU, AB, LDAB, R, C, ROWCND, COLCND,
170 INTEGER kl, ku, ldab, m, n
171 REAL amax, colcnd, rowcnd
175 COMPLEX ab( ldab, * )
182 parameter( one = 1.0e+0, thresh = 0.1e+0 )
186 REAL cj, large, small
199 IF( m.LE.0 .OR. n.LE.0 )
THEN
206 small =
slamch(
'Safe minimum' ) /
slamch(
'Precision' )
209 IF( rowcnd.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
214 IF( colcnd.GE.thresh )
THEN
225 DO 10 i = max( 1, j-ku ), min( m, j+kl )
226 ab( ku+1+i-j, j ) = cj*ab( ku+1+i-j, j )
231 ELSE IF( colcnd.GE.thresh )
THEN
236 DO 30 i = max( 1, j-ku ), min( m, j+kl )
237 ab( ku+1+i-j, j ) = r( i )*ab( ku+1+i-j, j )
247 DO 50 i = max( 1, j-ku ), min( m, j+kl )
248 ab( ku+1+i-j, j ) = cj*r( i )*ab( ku+1+i-j, j )