Index: src/misc2/darray.c =================================================================== RCS file: /MPIhome/mpich/src/misc2/darray.c,v retrieving revision 1.12 retrieving revision 1.13 diff -r1.12 -r1.13 2c2 < * $Id: darray.c,v 1.12 2001/11/14 20:08:03 ashton Exp $ --- > * $Id: darray.c,v 1.13 2002/07/12 19:57:46 thakur Exp $ 406a407,419 > > /* need to set the UB for block-cyclic to work */ > types[0] = *type_new; > types[1] = MPI_UB; > disps[0] = 0; > disps[1] = orig_extent; > if (order == MPI_ORDER_FORTRAN) > for (i=0; i<=dim; i++) disps[1] *= array_of_gsizes[i]; > else for (i=ndims-1; i>=dim; i--) disps[1] *= array_of_gsizes[i]; > blklens[0] = blklens[1] = 1; > MPI_Type_struct(2, blklens, disps, types, &type_tmp); > MPI_Type_free(type_new); > *type_new = type_tmp; Index: romio/adio/common/flatten.c =================================================================== RCS file: /MPIhome/romio/adio/common/flatten.c,v retrieving revision 1.5 retrieving revision 1.6 diff -r1.5 -r1.6 2c2 < * $Id: flatten.c,v 1.5 2001/09/14 20:57:07 rross Exp $ --- > * $Id: flatten.c,v 1.6 2002/07/16 17:30:14 thakur Exp $ 78c78 < int i, j, m, n, num, basic_num, prev_index; --- > int i, j, k, m, n, num, basic_num, prev_index; 281c281 < ints[top_count+1+i]*old_extent; --- > (ints[top_count+1+i]-ints[top_count+i])*old_extent; 287,290c287,292 < flat->indices[j] = flat->indices[j-basic_num] + old_extent; < flat->blocklens[j] = flat->blocklens[j-basic_num]; < j++; < } --- > for (k=0; k flat->indices[j] = flat->indices[j-basic_num] + old_extent; > flat->blocklens[j] = flat->blocklens[j-basic_num]; > j++; > } > } 340c342 < flat->indices[j] = flat->indices[j-num] + adds[i]; --- > flat->indices[j] = flat->indices[j-num] + adds[i] - adds[i-1]; 346,347c348,350 < flat->indices[j] = flat->indices[j-basic_num] + old_extent; < flat->blocklens[j] = flat->blocklens[j-basic_num]; --- > for (k=0; k flat->indices[j] = flat->indices[j-basic_num] + old_extent; > flat->blocklens[j] = flat->blocklens[j-basic_num]; 348a352 > }