SCALAPACK 2.2.2
LAPACK: Linear Algebra PACKage
Loading...
Searching...
No Matches

◆ dgenmat()

subroutine dgenmat ( integer  m,
integer  n,
double precision, dimension(lda,n)  a,
integer  lda,
integer  testnum,
integer  myrow,
integer  mycol 
)

Definition at line 8543 of file blacstest.f.

8544*
8545* -- BLACS tester (version 1.0) --
8546* University of Tennessee
8547* December 15, 1994
8548*
8549*
8550* .. Scalar Arguments ..
8551 INTEGER M, N, LDA, TESTNUM, MYROW, MYCOL
8552* ..
8553* .. Array Arguments ..
8554 DOUBLE PRECISION A(LDA,N)
8555* ..
8556*
8557* Purpose
8558* =======
8559* DGENMAT: Generates an M-by-N matrix filled with random elements.
8560*
8561* Arguments
8562* =========
8563* M (input) INTEGER
8564* The number of rows of the matrix A. M >= 0.
8565*
8566* N (input) INTEGER
8567* The number of columns of the matrix A. N >= 0.
8568*
8569* A (output) @up@(doctype) array, dimension (LDA,N)
8570* The m by n matrix A. Fortran77 (column-major) storage
8571* assumed.
8572*
8573* LDA (input) INTEGER
8574* The leading dimension of the array A. LDA >= max(1, M).
8575*
8576* TESTNUM (input) INTEGER
8577* Unique number for this test case, used as a basis for
8578* the random seeds.
8579*
8580* ====================================================================
8581*
8582* .. External Functions ..
8583 INTEGER IBTNPROCS
8584 DOUBLE PRECISION DBTRAN
8585 EXTERNAL dbtran, ibtnprocs
8586* ..
8587* .. Local Scalars ..
8588 INTEGER I, J, NPROCS, SRC
8589* ..
8590* .. Local Arrays ..
8591 INTEGER ISEED(4)
8592* ..
8593* .. Executable Statements ..
8594*
8595* ISEED's four values must be positive integers less than 4096,
8596* fourth one has to be odd. (see _LARND). Use some goofy
8597* functions to come up with seed values which together should
8598* be unique.
8599*
8600 nprocs = ibtnprocs()
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* End of DGENMAT.
8615*
double precision function dbtran(iseed)
Definition blacstest.f:8619
integer function ibtnprocs()
Definition btprim.f:81
Here is the caller graph for this function: