Set buckets number.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(hash_table), | intent(inout) | :: | self | The hash table. |
||
integer(kind=I4P), | intent(in), | optional | :: | buckets_number | Number of buckets for initialize the hash table. |
|
logical, | intent(in), | optional | :: | use_prime | If true the buckets number is rendered prime. |
pure subroutine set_buckets_number(self, buckets_number, use_prime)
!---------------------------------------------------------------------------------------------------------------------------------
!< Set buckets number.
!---------------------------------------------------------------------------------------------------------------------------------
class(hash_table), intent(inout) :: self !< The hash table.
integer(I4P), intent(in), optional :: buckets_number !< Number of buckets for initialize the hash table.
logical, intent(in), optional :: use_prime !< If true the buckets number is rendered prime.
!---------------------------------------------------------------------------------------------------------------------------------
!---------------------------------------------------------------------------------------------------------------------------------
self%buckets_number = HT_BUCKETS_NUMBER_DEF
if (present(buckets_number)) self%buckets_number = buckets_number
if (present(use_prime)) then
if (use_prime) then
if (.not.is_prime(self%buckets_number)) self%buckets_number = find_next_prime(self%buckets_number)
endif
endif
!---------------------------------------------------------------------------------------------------------------------------------
endsubroutine set_buckets_number