| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| integer, | public | :: | nrows | = | 0 | ||
| type(rdm_list_t), | public | :: | rdm_send | ||||
| integer, | public, | allocatable | :: | free_slots(:) | |||
| integer, | public, | allocatable | :: | init_free_slots(:) |
type rdm_spawn_t ! The number of rows in the RDM. integer :: nrows = 0 ! This object holds the spawning array for the RDM elements before ! they are communicated, as well as relevant metadata which is stored ! with the RDM list (see rdm_list_t). Note that the nelements component ! won't be used or relevant, since the list won't be contiguous. type(rdm_list_t) :: rdm_send ! free_slots(i) holds the next available spawning slot in ! rdm_send%elements for processor i. integer, allocatable :: free_slots(:) ! init_free_slots(i) holds the index in rdm_send%elements where the ! very first RDM element to be sent to process i will be added. integer, allocatable :: init_free_slots(:) end type rdm_spawn_t