void PREPEND_PREFIX(Segment_unpack)(DLOOP_Segment *segp, DLOOP_Offset first, DLOOP_Offset *lastp, void *streambuf) { struct PREPEND_PREFIX(m2m_params) params; DBG_SEGMENT(printf( "Segment_unpack...\n" )); /* experimenting with discarding buf value in the segment, keeping in * per-use structure instead. would require moving the parameters around a * bit. */ params.userbuf = segp->ptr; params.streambuf = streambuf; params.direction = DLOOP_M2M_TO_USERBUF; PREPEND_PREFIX(Segment_manipulate)(segp, first, lastp, PREPEND_PREFIX(Segment_contig_m2m), PREPEND_PREFIX(Segment_vector_m2m), PREPEND_PREFIX(Segment_blkidx_m2m), PREPEND_PREFIX(Segment_index_m2m), NULL, /* size fn */ ¶ms); return; }
void MPIR_Segment_unpack(MPIR_Segment * segp, MPI_Aint first, MPI_Aint * lastp, void *streambuf) { struct MPII_Dataloop_m2m_params params; DBG_SEGMENT(printf("Segment_unpack...\n")); /* experimenting with discarding buf value in the segment, keeping in * per-use structure instead. would require moving the parameters around a * bit. */ params.userbuf = segp->ptr; params.streambuf = streambuf; params.direction = M2M_TO_USERBUF; MPII_Segment_manipulate(segp, first, lastp, contig_m2m, vector_m2m, blkidx_m2m, index_m2m, NULL, /* size fn */ ¶ms); return; }