int MPI_Ssend_init(MPE_CONST void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request) { int returnVal; request_list *newrq; int typesize3; /* fprintf( stderr, "MPI_Ssend_init call on %d\n", procid_1 ); */ returnVal = PMPI_Ssend_init( buf, count, datatype, dest, tag, comm, request ); if (dest != MPI_PROC_NULL) { rq_alloc( requests_avail_1, newrq ); if (newrq) { PMPI_Type_size( datatype, &typesize3 ); newrq->request = *request; newrq->status = RQ_SEND; newrq->size = count * typesize3; newrq->tag = tag; newrq->otherParty = dest; newrq->next = 0; rq_add( requests_head_1, requests_tail_1, newrq ); } } return returnVal; }
void ompi_ssend_init_f(char *buf, MPI_Fint *count, MPI_Fint *datatype, MPI_Fint *dest, MPI_Fint *tag, MPI_Fint *comm, MPI_Fint *request, MPI_Fint *ierr) { int c_ierr; MPI_Datatype c_type = PMPI_Type_f2c(*datatype); MPI_Request c_req; MPI_Comm c_comm; c_comm = PMPI_Comm_f2c (*comm); c_ierr = PMPI_Ssend_init(OMPI_F2C_BOTTOM(buf), OMPI_FINT_2_INT(*count), c_type, OMPI_FINT_2_INT(*dest), OMPI_FINT_2_INT(*tag), c_comm, &c_req); if (NULL != ierr) *ierr = OMPI_INT_2_FINT(c_ierr); if (MPI_SUCCESS == c_ierr) { *request = PMPI_Request_c2f(c_req); } }
int MPI_Ssend_init(void* buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request* request) { return PMPI_Ssend_init(buf, count, datatype, dest, tag, comm, request); }