| 542 | |
| 543 | |
| 544 | void comm_receiveArrayToBuffer(Qureg qureg, qindex numElems, int pairRank) { |
| 545 | |
| 546 | auto [sendInd, recvInd] = getSubBufferSendRecvInds(qureg); |
| 547 | |
| 548 | assert_commBoundsAreValid(qureg, sendInd, recvInd, numElems); |
| 549 | assert_bufferSendRecvDoesNotOverlap(sendInd, recvInd, numElems); |
| 550 | assert_commQuregIsDistributed(qureg); |
| 551 | assert_pairRankIsDistinct(qureg, pairRank); |
| 552 | |
| 553 | if (qureg.isGpuAccelerated) |
| 554 | receiveArrayToGpuBuffer(qureg, numElems, pairRank); |
| 555 | else |
| 556 | receiveArray(&qureg.cpuCommBuffer[recvInd], numElems, pairRank); |
| 557 | } |
| 558 | |
| 559 | |
| 560 | void comm_combineAmpsIntoBuffer(Qureg receiver, Qureg sender) { |
no test coverage detected