class DYNAMIC_BUCKET_TABLE{ELT,BKT < $BUCKET{ELT,BKT}} |
---|
**** | This class implements a hash table using dynamic buckets as described
___in_Per-Ake_Larson;_Communications_of_the_ACM_Vol.31_(1988)_P.446-457. ________The_directory/segment_structure_has_been_changed_in_favour_of ___a_dymnamically_changing_array_as_storage_area. |
COMPARE{_} |
attr n_inds : CARD ; |
---|
**** | This gives the number of elements (resp. indices) in the table. |
create_sized(initial_size : CARD) : SAME |
---|
const Default_Size : CARD := 16 ; |
---|
attr asize : CARD ; |
---|
**** | This is the size of the fraction of store which is currently in use.
___Array_access_beyond_this_bound_is_illegal. |
attr asize : CARD ; |
---|
**** | This is the size of the fraction of store which is currently in use.
___Array_access_beyond_this_bound_is_illegal. |
attr bound : CARD ; |
---|
**** | This gives the upper bound for split_pos. Is always initial_size * 2.pow(doubles). |
attr bound : CARD ; |
---|
**** | This gives the upper bound for split_pos. Is always initial_size * 2.pow(doubles). |
attr doubles : CARD ; |
---|
**** | The number of times the initial table size has been doubled. |
attr doubles : CARD ; |
---|
**** | The number of times the initial table size has been doubled. |
shared lower_fill_ratio : FLT := 0.800 ; |
---|
shared lower_fill_ratio : FLT := 0.800 ; |
---|
attr minsize : CARD ; |
---|
**** | This is the lower bound for the store size. |
attr minsize : CARD ; |
---|
**** | This is the lower bound for the store size. |
attr n_inds : CARD ; |
---|
**** | This gives the number of elements (resp. indices) in the table. |
attr split_pos : CARD ; |
---|
**** | This is the position of the next bucket to split. |
attr split_pos : CARD ; |
---|
**** | This is the position of the next bucket to split. |
attr store : AREF{BKT} ; |
---|
**** | The data being stored. |
attr store : AREF{BKT} ; |
---|
**** | The data being stored. |
shared upper_fill_ratio : FLT := 1.000 ; |
---|
**** | These two bounds are specified for efficient memory usage. For fast
___access_the_ratio_between_the_number_of_elements_and_the_number_of_cells ___should_be_low.___For_efficient_memory_usage_the_converse_is_true.___Unless ___the_list_is_really_small_the_ration_should_be_between_the_above_bounds. |
shared upper_fill_ratio : FLT := 1.000 ; |
---|
**** | These two bounds are specified for efficient memory usage. For fast
___access_the_ratio_between_the_number_of_elements_and_the_number_of_cells ___should_be_low.___For_efficient_memory_usage_the_converse_is_true.___Unless ___the_list_is_really_small_the_ration_should_be_between_the_above_bounds. |