Nature Language: allocateMultiPingpongData:Allocates space for the main data arrays. Size of each array is specified by subroutine argument.
  
CPP: int allocateMultiPingpongData(int sizeofBuffer){ \n\n    if (crossCommRank == pingNode){ \n        pingSendBuf = (int *)malloc(sizeof(int) * sizeofBuffer); \n        pongRecvBuf = (int *)malloc(sizeof(int) * sizeofBuffer); \n        finalRecvBuf = (int *)malloc(sizeof(int) * sizeofBuffer); \n    } \n    else if (crossCommRank == pongNode){ \n        pingRecvBuf = (int *)malloc(sizeof(int) * sizeofBuffer); \n        pongSendBuf = (int *)malloc(sizeof(int) * sizeofBuffer); \n    } \n\n    return 0; \n}",
  
Fortran: SUBROUTINE allocateData(sizeofBuffer)\n integer, intent(in) :: sizeofBuffer\n \n IF (crossCommRank == pingNode) THEN\n !allocate space for arrays that MPI processes\n !with crossCommRank = pingNode will use\n allocate(pingSendBuf(sizeofBuffer))\n allocate(pongRecvBuf(sizeofBuffer))\n allocate(finalRecvBuf(sizeofBuffer))\n ELSE IF (crossCommRank == pongNode) THEN\n !allocate space for arrays that MPI processes\n !with crossCommRank = pongNode will use.\n allocate(pingRecvBuf(sizeofBuffer))\n allocate(pongSendBuf(sizeofBuffer))\n END IF\n \n END SUBROUTINE allocateData
  