| 338 | //------------------------------------------------------------------------------ |
| 339 | template <class T> |
| 340 | int vtkMPICommunicatorNoBlockSendData(const T* data, vtkTypeInt64 length, int remoteProcessId, |
| 341 | int tag, MPI_Datatype datatype, vtkMPICommunicator::Request& req, MPI_Comm* Handle) |
| 342 | { |
| 343 | #ifdef VTKMPI_64BIT_LENGTH |
| 344 | return MPI_Isend_c( |
| 345 | const_cast<T*>(data), length, datatype, remoteProcessId, tag, *(Handle), &req.Req->Handle); |
| 346 | #else |
| 347 | if (!vtkMPICommunicatorCheckSize(length)) |
| 348 | { |
| 349 | return 0; |
| 350 | } |
| 351 | return MPI_Isend(const_cast<T*>(data), static_cast<int>(length), datatype, remoteProcessId, tag, |
| 352 | *(Handle), &req.Req->Handle); |
| 353 | #endif |
| 354 | } |
| 355 | //------------------------------------------------------------------------------ |
| 356 | template <class T> |
| 357 | int vtkMPICommunicatorNoBlockReceiveData(T* data, vtkTypeInt64 length, int remoteProcessId, int tag, |
no test coverage detected