diff options
Diffstat (limited to 'ace/Caching_Utility_T.cpp')
-rw-r--r-- | ace/Caching_Utility_T.cpp | 29 |
1 files changed, 7 insertions, 22 deletions
diff --git a/ace/Caching_Utility_T.cpp b/ace/Caching_Utility_T.cpp index 0f4f98a18b2..c0090253b33 100644 --- a/ace/Caching_Utility_T.cpp +++ b/ace/Caching_Utility_T.cpp @@ -54,11 +54,8 @@ 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 - = ACE_MAX (ACE_static_cast (size_t, 1), - ACE_static_cast(size_t, - ACE_static_cast(double, purge_percent) - / 100 * current_map_size)); + size_t entries_to_remove = size_t ((double (purge_percent) / 100 * current_map_size) + 0.5); + KEY *key_to_remove = 0; VALUE *value_to_remove = 0; @@ -155,12 +152,8 @@ 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 - = ACE_MAX (ACE_static_cast (size_t, 1), - ACE_static_cast(size_t, - ACE_static_cast(double, purge_percent) - / 100 * current_map_size)); - + size_t entries_to_remove = size_t ((double (purge_percent) / 100 * current_map_size) + 0.5); + KEY *key_to_remove = 0; VALUE *value_to_remove = 0; @@ -275,11 +268,7 @@ 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 - = ACE_MAX (ACE_static_cast (size_t, 1), - ACE_static_cast(size_t, - ACE_static_cast(double, purge_percent) - / 100 * available_entries)); + size_t entries_to_remove = size_t ((double (purge_percent) / 100 * available_entries) + 0.5); if (entries_to_remove >= available_entries || entries_to_remove == 0) @@ -400,12 +389,8 @@ 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 - = ACE_MAX (ACE_static_cast (size_t, 1), - ACE_static_cast(size_t, - ACE_static_cast(double, purge_percent) - / 100 * current_map_size)); - + size_t entries_to_remove = (purge_percent / 100 * current_map_size) + 0.5; + KEY *key_to_remove = 0; VALUE *value_to_remove = 0; |