8544
8545
8546
8547
8548
8549
8550
8551 INTEGER M, N, LDA, TESTNUM, MYROW, MYCOL
8552
8553
8554 DOUBLE PRECISION A(LDA,N)
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583 INTEGER IBTNPROCS
8584 DOUBLE PRECISION DBTRAN
8586
8587
8588 INTEGER I, J, NPROCS, SRC
8589
8590
8591 INTEGER ISEED(4)
8592
8593
8594
8595
8596
8597
8598
8599
8601 src = myrow * nprocs + mycol
8602 iseed(1) = mod( 1002 + testnum*5 + src*3, 4096 )
8603 iseed(2) = mod( 2027 + testnum*7 + src, 4096 )
8604 iseed(3) = mod( 1234 + testnum + src*3, 4096 )
8605 iseed(4) = mod( 4311 + testnum*10 + src*2, 4096 )
8606
8607 DO 10 j = 1, n
8608 DO 10 i = 1, m
8609 a(i, j) =
dbtran( iseed )
8610 10 CONTINUE
8611
8612 RETURN
8613
8614
8615
double precision function dbtran(iseed)
integer function ibtnprocs()