diff options
author | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-07-19 21:49:14 +0000 |
---|---|---|
committer | kirthika <kirthika@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-07-19 21:49:14 +0000 |
commit | f41d67acb822c6f9a5740729c3cf71bf163f7df7 (patch) | |
tree | 69a1ac60991434d8754e3775c50d0a390a105a91 /ace | |
parent | 536ec258d9ec8e0bafb491db3a08778bd9f7c170 (diff) | |
download | ATCD-f41d67acb822c6f9a5740729c3cf71bf163f7df7.tar.gz |
Changed calculationof <entries_to_remove> to be 1 or exact value
Diffstat (limited to 'ace')
-rw-r--r-- | ace/Caching_Utility_T.cpp | 21 |
1 files changed, 16 insertions, 5 deletions
diff --git a/ace/Caching_Utility_T.cpp b/ace/Caching_Utility_T.cpp index c0090253b33..285f2af8660 100644 --- a/ace/Caching_Utility_T.cpp +++ b/ace/Caching_Utility_T.cpp @@ -54,8 +54,10 @@ ACE_Pair_Caching_Utility<KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES>::clear_cac // Calculate the no of entries to remove from the cache depending // upon the <purge_percent>. - size_t entries_to_remove = size_t ((double (purge_percent) / 100 * current_map_size) + 0.5); - + size_t entries_to_remove + = ACE_MAX (1, ACE_static_cast(size_t, + ACE_static_cast(double, purge_percent) + / 100 * current_map_size)); KEY *key_to_remove = 0; VALUE *value_to_remove = 0; @@ -152,7 +154,10 @@ ACE_Recyclable_Handler_Caching_Utility<KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUT // Calculate the no of entries to remove from the cache depending // upon the <purge_percent>. - size_t entries_to_remove = size_t ((double (purge_percent) / 100 * current_map_size) + 0.5); + size_t entries_to_remove + = ACE_MAX (1, ACE_static_cast(ssize_t, + ACE_static_cast(double, purge_percent) + / 100 * current_map_size)); KEY *key_to_remove = 0; VALUE *value_to_remove = 0; @@ -268,7 +273,10 @@ ACE_Refcounted_Recyclable_Handler_Caching_Utility<KEY, VALUE, CONTAINER, ITERATO // Calculate the no of entries to remove from the cache depending // upon the <purge_percent>. - size_t entries_to_remove = size_t ((double (purge_percent) / 100 * available_entries) + 0.5); + size_t entries_to_remove + = ACE_MAX (1, ACE_static_cast(ssize_t, + ACE_static_cast(double, purge_percent) + / 100 * current_map_size)); if (entries_to_remove >= available_entries || entries_to_remove == 0) @@ -389,7 +397,10 @@ ACE_Handler_Caching_Utility<KEY, VALUE, CONTAINER, ITERATOR, ATTRIBUTES>::clear_ // Calculate the no of entries to remove from the cache depending // upon the <purge_percent>. - size_t entries_to_remove = (purge_percent / 100 * current_map_size) + 0.5; + size_t entries_to_remove + = ACE_MAX (1, ACE_static_cast(ssize_t, + ACE_static_cast(double, purge_percent) + / 100 * current_map_size)); KEY *key_to_remove = 0; VALUE *value_to_remove = 0; |