char *send_ptr = (char *) send_buff;
char *recv_ptr = (char *) recv_buff;
- rank = smpi_comm_rank(comm);
- num_procs = smpi_comm_size(comm);
+ rank = comm->rank();
+ num_procs = comm->size();
if((num_procs&(num_procs-1)))
THROWF(arg_error,0, "alltoallv pair algorithm can't be used with non power of two number of processes ! ");
for (i = 0; i < num_procs; i++) {
src = dst = rank ^ i;
- smpi_mpi_sendrecv(send_ptr + send_disps[dst] * send_chunk, send_counts[dst], send_type, dst, tag,
+ Request::sendrecv(send_ptr + send_disps[dst] * send_chunk, send_counts[dst], send_type, dst, tag,
recv_ptr + recv_disps[src] * recv_chunk, recv_counts[src], recv_type, src, tag,
comm, &s);
}