212 COMPLEX FUNCTION clatm2( M, N, I, J, KL, KU, IDIST, ISEED, D,
213 $ igrade, dl, dr, ipvtng, iwork, sparse )
222 INTEGER i, idist, igrade, ipvtng, j, kl, ku, m, n
228 INTEGER iseed( 4 ), iwork( * )
229 COMPLEX d( * ), dl( * ), dr( * )
237 parameter( czero = ( 0.0e0, 0.0e0 ) )
239 parameter( zero = 0.0e0 )
267 IF( i.LT.1 .OR. i.GT.m .OR. j.LT.1 .OR. j.GT.n )
THEN
274 IF( j.GT.i+ku .OR. j.LT.i-kl )
THEN
281 IF( sparse.GT.zero )
THEN
282 IF(
slaran( iseed ).LT.sparse )
THEN
290 IF( ipvtng.EQ.0 )
THEN
293 ELSE IF( ipvtng.EQ.1 )
THEN
296 ELSE IF( ipvtng.EQ.2 )
THEN
299 ELSE IF( ipvtng.EQ.3 )
THEN
306 IF( isub.EQ.jsub )
THEN
309 ctemp =
clarnd( idist, iseed )
311 IF( igrade.EQ.1 )
THEN
312 ctemp = ctemp*dl( isub )
313 ELSE IF( igrade.EQ.2 )
THEN
314 ctemp = ctemp*dr( jsub )
315 ELSE IF( igrade.EQ.3 )
THEN
316 ctemp = ctemp*dl( isub )*dr( jsub )
317 ELSE IF( igrade.EQ.4 .AND. isub.NE.jsub )
THEN
318 ctemp = ctemp*dl( isub ) / dl( jsub )
319 ELSE IF( igrade.EQ.5 )
THEN
320 ctemp = ctemp*dl( isub )*conjg( dl( jsub ) )
321 ELSE IF( igrade.EQ.6 )
THEN
322 ctemp = ctemp*dl( isub )*dl( jsub )