Como criar um novo tipo no MPI

Eu sou novo no MPI e quero criar um novo tipo de dados paraResidence struct. Eu só quero ver se consigo criar o novo tipo de maneira correta. Residência struct {double x; duplo y; };

Meu novo tipo de MPI

MPI_Datatype createRecType()
{
    // Set-up the arguments for the type constructor
    MPI_Datatype new_type;

    int count = 2;
    int blocklens[] = { 1,1 };

    MPI_Aint indices[2];
    //indices[0]=0;
    MPI_Type_extent( MPI_DOUBLE, &indices[0] );
    MPI_Type_extent( MPI_DOUBLE, &indices[1] );

    MPI_Datatype old_types[] = {MPI_DOUBLE,MPI_DOUBLE};

    MPI_Type_struct(count,blocklens,indices,old_types,&new_type);
    MPI_Type_commit(&new_type);

}

questionAnswers(1)

yourAnswerToTheQuestion