5 int m,
int n,
int lda, MPI_Datatype Dtype,
10 int info, start, i, k;
14 if (diag ==
'u') start = 1;
21 #ifdef ZeroByteTypeBug
22 if (m > n) i = n * (m-n) + (n*n) - (n*n)/2 + n/2 - n*start;
23 else i = m * (n-m) + (m*m) - (m*m)/2 + m/2 - m*start;
36 len = (
int *) bp->
Buff;
37 disp = (
int *) &bp->
Buff[n*
sizeof(int)];
43 k = m - n + 1 - start;
59 disp[i] = disp[i-1] + lda;
91 disp[i] = i*lda + start;
96 disp[i] = disp[i-1] + lda;
105 for (i=0; i < n; i++)
109 for (k=i+1; k < n; k++)
120 i=MPI_Type_indexed(n, len, disp, Dtype, &TrType);
121 i=MPI_Type_commit(&TrType);