169 SUBROUTINE dlatb9( PATH, IMAT, M, P, N, TYPE, KLA, KUA, KLB, KUB,
170 $ anorm, bnorm, modea, modeb, cndnma, cndnmb,
179 CHARACTER dista, distb, type
181 INTEGER imat, kla, klb, kua, kub, m, modea, modeb, n, p
182 DOUBLE PRECISION anorm, bnorm, cndnma, cndnmb
188 DOUBLE PRECISION shrink, tenth
189 parameter( shrink = 0.25d0, tenth = 0.1d+0 )
190 DOUBLE PRECISION one, ten
191 parameter( one = 1.0d+0, ten = 1.0d+1 )
195 DOUBLE PRECISION badc1, badc2, eps, large, small
209 SAVE eps, small, large, badc1, badc2, first
212 DATA first / .true. /
220 eps =
dlamch(
'Precision' )
222 badc1 = sqrt( badc2 )
223 small =
dlamch(
'Safe minimum' )
229 CALL
dlabad( small, large )
230 small = shrink*( small / eps )
244 IF(
lsamen( 3, path,
'GRQ' ) .OR.
lsamen( 3, path,
'LSE' ) .OR.
245 $
lsamen( 3, path,
'GSV' ) )
THEN
258 ELSE IF( imat.EQ.2 )
THEN
267 ELSE IF( imat.EQ.3 )
THEN
287 ELSE IF(
lsamen( 3, path,
'GQR' ) .OR.
lsamen( 3, path,
'GLM' ) )
300 ELSE IF( imat.EQ.2 )
THEN
309 ELSE IF( imat.EQ.3 )
THEN
334 IF(
lsamen( 3, path,
'GQR' ) .OR.
lsamen( 3, path,
'GRQ' ) .OR.
335 $
lsamen( 3, path,
'GSV' ) )
THEN
339 ELSE IF( imat.EQ.6 )
THEN
342 ELSE IF( imat.EQ.7 )
THEN
345 ELSE IF( imat.EQ.8 )
THEN
353 IF(
lsamen( 3, path,
'GQR' ) .OR.
lsamen( 3, path,
'GRQ' ) )
THEN
357 ELSE IF( imat.EQ.8 )
THEN