mpi :: Sendable :: send
# Type specific send over MPI protected fun send(mpi: MPI, at, count: Int, dest: Rank, tag: Tag, comm: Comm) is abstract
redef fun send(mpi, at, count, dest, tag, comm) do var array if at != 0 then array = native_array + at else array = native_array mpi.native_send(array, count, new DataType.int, dest, tag, new Comm.world) end
redef fun send(mpi, at, count, dest, tag, comm) do var str if at != 0 or count != length then str = substring(at, count) else str = self mpi.native_send(str.to_cstring, count, new DataType.char, dest, tag, new Comm.world) end