if(oldtype == MPI_DATATYPE_NULL) {
return MPI_ERR_TYPE;
}
- smpi_datatype_create(newtype,oldtype->size, lb, lb + extent, oldtype->has_subtype,oldtype->substruct, oldtype->flags);
+ int blocks[3] = { 1, 1, 1 };
+ MPI_Aint disps[3] = { lb, 0, lb+extent };
+ MPI_Datatype types[3] = { MPI_LB, oldtype, MPI_UB };
+
+ s_smpi_mpi_struct_t* subtype = smpi_datatype_struct_create( blocks,
+ disps,
+ 3,
+ types
+ );
+ smpi_datatype_create(newtype,oldtype->size, lb, lb + extent, 1 , subtype, DT_FLAG_VECTOR);
(*newtype)->flags &= ~DT_FLAG_COMMITED;
return MPI_SUCCESS;
add_executable(simple-commit simple-commit.c)
# add_executable(simple-pack simple-pack.c)
# add_executable(simple-pack-external simple-pack-external.c)
-# add_executable(simple-resized simple-resized.c)
+ add_executable(simple-resized simple-resized.c)
add_executable(simple-size-extent simple-size-extent.c)
# add_executable(sizedtypes sizedtypes.c)
# add_executable(slice-pack slice-pack.c)
add_executable(tfree tfree.c)
# add_executable(tmatchsize tmatchsize.c)
# add_executable(transpose-pack transpose-pack.c)
-# add_executable(tresized2 tresized2.c)
-# add_executable(tresized tresized.c)
+ add_executable(tresized2 tresized2.c)
+ add_executable(tresized tresized.c)
# add_executable(triangular-pack triangular-pack.c)
add_executable(typecommit typecommit.c)
# add_executable(typefree typefree.c)
target_link_libraries(simple-commit simgrid mtest_c)
# target_link_libraries(simple-pack simgrid mtest_c)
# target_link_libraries(simple-pack-external simgrid mtest_c)
-# target_link_libraries(simple-resized simgrid mtest_c)
+ target_link_libraries(simple-resized simgrid mtest_c)
target_link_libraries(simple-size-extent simgrid mtest_c)
# target_link_libraries(sizedtypes simgrid mtest_c)
# target_link_libraries(slice-pack simgrid mtest_c)
target_link_libraries(tfree simgrid mtest_c)
# target_link_libraries(tmatchsize simgrid mtest_c)
# target_link_libraries(transpose-pack simgrid mtest_c)
-# target_link_libraries(tresized2 simgrid mtest_c)
-# target_link_libraries(tresized simgrid mtest_c)
+ target_link_libraries(tresized2 simgrid mtest_c)
+ target_link_libraries(tresized simgrid mtest_c)
# target_link_libraries(triangular-pack simgrid mtest_c)
target_link_libraries(typecommit simgrid mtest_c)
# target_link_libraries(typefree simgrid mtest_c)