| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(rdm_list_t), | intent(out) | :: | rdm | |||
| integer, | intent(in) | :: | sign_length | |||
| integer, | intent(in) | :: | max_nelements | |||
| integer, | intent(in) | :: | nhashes |
subroutine init_rdm_list_t(rdm, sign_length, max_nelements, nhashes) ! Initialise an rdm_list_t object. ! Out: rdm - rdm_list_t object to be initialised. ! In: sign_length - the number of signs which can be stored for each element. ! In: max_nelements - the length of the rdm%elements array. ! In: nhashes - the number of unique hashes for indexing the hash table. use hash, only: init_hash_table type(rdm_list_t), intent(out) :: rdm integer, intent(in) :: sign_length, max_nelements, nhashes integer :: ierr rdm%sign_length = sign_length rdm%max_nelements = max_nelements rdm%nhashes = nhashes allocate(rdm%elements(0:sign_length, max_nelements)) rdm%elements = 0_int_rdm allocate(rdm%hash_table(nhashes), stat=ierr) call init_hash_table(rdm%hash_table) end subroutine init_rdm_list_t