diff --git a/src/genmap.c b/src/genmap.c index ced1b95e7..757c49eda 100644 --- a/src/genmap.c +++ b/src/genmap.c @@ -167,21 +167,41 @@ GenmapElements GenmapGetElements(GenmapHandle h) { return (GenmapElements) h->elementArray.ptr; } +void GenmapSetElements(GenmapHandle h, GenmapElements elements) { + h->elementArray.ptr = elements; +} + GenmapComm GenmapGetLocalComm(GenmapHandle h) { return h->local; } +void GenmapSetLocalComm(GenmapHandle h, GenmapComm c) { + h->local = c; +} + GenmapComm GenmapGetGlobalComm(GenmapHandle h) { return h->global; } +void GenmapSetGlobalComm(GenmapHandle h, GenmapComm c) { + h->global = c; +} + GenmapInt GenmapGetNLocalElements(GenmapHandle h) { return h->header->lelt; } +void GenmapSetNLocalElements(GenmapHandle h, GenmapInt localElements) { + h->header->lelt = localElements; +} + GenmapLong GenmapGetNGlobalElements(GenmapHandle h) { return h->header->nel; } + +void GenmapSetNGlobalElements(GenmapHandle h, GenmapLong globalElements) { + h->header->nel = globalElements; +} // // GenmapMalloc, Realloc, Calloc and Free // diff --git a/src/genmap.h b/src/genmap.h index 5f0c7b73e..7e40d06d6 100644 --- a/src/genmap.h +++ b/src/genmap.h @@ -52,10 +52,19 @@ int GenmapRegisterReader(char *name, int (*Create)(GenmapHandle h)); // Genmap header helper functions // GenmapElements GenmapGetElements(GenmapHandle h); +void GenmapSetElements(GenmapHandle h, GenmapElements elements); + GenmapComm GenmapGetLocalComm(GenmapHandle h); +void GenmapSetLocalComm(GenmapHandle h, GenmapComm c); + GenmapComm GenmapGetGlobalComm(GenmapHandle h); +void GenmapSetGlobalComm(GenmapHandle h, GenmapComm c); + GenmapInt GenmapGetNLocalElements(GenmapHandle h); +void GenmapSetNLocalElements(GenmapHandle h, GenmapInt localElements); + GenmapLong GenmapGetNGlobalElements(GenmapHandle h); +void GenmapSetNGlobalElements(GenmapHandle h, GenmapLong globalElements); // // GenmapCommExternal //