From e913fede8dc47905cf77e02474ab4a83db22913f Mon Sep 17 00:00:00 2001 From: Juan Escobar <juan.escobar@aero.obs-mip.fr> Date: Tue, 19 Jan 2016 11:34:00 +0000 Subject: [PATCH] Juan 19/01/2016: add mpi_gatherv for next Elect routines --- src/LIB/MPIvide/mpivide.c | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/src/LIB/MPIvide/mpivide.c b/src/LIB/MPIvide/mpivide.c index 06740a208..121853b1a 100644 --- a/src/LIB/MPIvide/mpivide.c +++ b/src/LIB/MPIvide/mpivide.c @@ -218,6 +218,44 @@ int *__ierr; *__ierr = 0; } +#pragma weak mpi_gatherv__ = mpi_gatherv +#pragma weak mpi_gatherv_ = mpi_gatherv +void mpi_gatherv +( sendbuf, sendcount, sendtype, recvbuf, recvcounts, displs, recvtype, root, comm, __ierr ) + +void *sendbuf; +int *sendcount; +int *sendtype; +void *recvbuf; +int *recvcounts; +int *displs; +int *recvtype; +int *root; +int *comm; +int *__ierr; +{ + int size = SIZE2PRECISION; + disppass("gatherv"); + switch(*sendtype) + { + case MPI_INTEGER: + size = SIZEINTEGER; + break; + case MPI_PRECISION: + size = SIZEPRECISION; + break; + case MPI_2PRECISION: + size = SIZE2PRECISION; + break; + case MPI_DOUBLEDOUBLE: + size = SIZE_DOUBLEDOUBLE; + break; + } + memcpy(recvbuf, sendbuf, (*recvcounts)*size); + + *__ierr = 0; +} + #pragma weak mpi_comm_get_parent__ = mpi_comm_get_parent #pragma weak mpi_comm_get_parent_ = mpi_comm_get_parent void mpi_comm_get_parent(int *parent , int *__ierr) -- GitLab