From: Paolo Carlini Date: Mon, 24 Dec 2007 14:32:21 +0000 (+0000) Subject: hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt, [...]): Use __builtin_ceil. X-Git-Tag: releases/gcc-4.3.0~830 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=861d6c431f15b7371273779e54a9b39ea312b41f;p=thirdparty%2Fgcc.git hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt, [...]): Use __builtin_ceil. 2007-12-24 Paolo Carlini * include/tr1_impl/hashtable_policy.h (_Prime_rehash_policy:: _M_next_bkt, _M_bkt_for_elements, _M_need_rehash): Use __builtin_ceil. * include/std/unordered_map: Do not include ; prefer to . * include/std/unordered_set: Likewise. * include/tr1/unordered_map: Likewise. * include/tr1/unordered_set: Likewise. From-SVN: r131157 --- diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index c058ac73a85a..99da8b588154 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,13 @@ +2007-12-24 Paolo Carlini + + * include/tr1_impl/hashtable_policy.h (_Prime_rehash_policy:: + _M_next_bkt, _M_bkt_for_elements, _M_need_rehash): Use __builtin_ceil. + * include/std/unordered_map: Do not include ; prefer + to . + * include/std/unordered_set: Likewise. + * include/tr1/unordered_map: Likewise. + * include/tr1/unordered_set: Likewise. + 2007-12-24 Paolo Carlini * include/std/complex (complex::complex(float, float)): diff --git a/libstdc++-v3/include/std/unordered_map b/libstdc++-v3/include/std/unordered_map index 226fea8b1066..4ce80514d686 100644 --- a/libstdc++-v3/include/std/unordered_map +++ b/libstdc++-v3/include/std/unordered_map @@ -44,13 +44,12 @@ # error C++0x header cannot be included from TR1 header #endif -#include -#include #include #include // lower_bound +#include #include #include // equal_to, _Identity, _Select1st -#include +#include #include #include diff --git a/libstdc++-v3/include/std/unordered_set b/libstdc++-v3/include/std/unordered_set index 3b0f22c34189..3cc69372b6f7 100644 --- a/libstdc++-v3/include/std/unordered_set +++ b/libstdc++-v3/include/std/unordered_set @@ -44,13 +44,12 @@ # error C++0x header cannot be included from TR1 header #endif -#include -#include #include #include // lower_bound +#include #include #include // equal_to, _Identity, _Select1st -#include +#include #include #include diff --git a/libstdc++-v3/include/tr1/unordered_map b/libstdc++-v3/include/tr1/unordered_map index 85e8f0015c47..041eb9443cf8 100644 --- a/libstdc++-v3/include/tr1/unordered_map +++ b/libstdc++-v3/include/tr1/unordered_map @@ -40,12 +40,11 @@ # error TR1 header cannot be included from C++0x header #endif -#include -#include #include #include // lower_bound #include #include // equal_to, _Identity, _Select1st +#include #include #include #include diff --git a/libstdc++-v3/include/tr1/unordered_set b/libstdc++-v3/include/tr1/unordered_set index 35c605ff681b..16181681f557 100644 --- a/libstdc++-v3/include/tr1/unordered_set +++ b/libstdc++-v3/include/tr1/unordered_set @@ -40,12 +40,11 @@ # error TR1 header cannot be included from C++0x header #endif -#include -#include #include #include // lower_bound #include #include // equal_to, _Identity, _Select1st +#include #include #include #include diff --git a/libstdc++-v3/include/tr1_impl/hashtable_policy.h b/libstdc++-v3/include/tr1_impl/hashtable_policy.h index 514d444420eb..b74531c2ddf8 100644 --- a/libstdc++-v3/include/tr1_impl/hashtable_policy.h +++ b/libstdc++-v3/include/tr1_impl/hashtable_policy.h @@ -425,8 +425,8 @@ namespace __detail { const unsigned long* __p = std::lower_bound(__prime_list, __prime_list + _S_n_primes, __n); - _M_next_resize = static_cast(std::ceil(*__p - * _M_max_load_factor)); + _M_next_resize = + static_cast(__builtin_ceil(*__p * _M_max_load_factor)); return *__p; } @@ -439,8 +439,8 @@ namespace __detail const float __min_bkts = __n / _M_max_load_factor; const unsigned long* __p = std::lower_bound(__prime_list, __prime_list + _S_n_primes, __min_bkts); - _M_next_resize = static_cast(std::ceil(*__p - * _M_max_load_factor)); + _M_next_resize = + static_cast(__builtin_ceil(*__p * _M_max_load_factor)); return *__p; } @@ -468,15 +468,14 @@ namespace __detail const unsigned long* __p = std::lower_bound(__prime_list, __prime_list + _S_n_primes, __min_bkts); - _M_next_resize = - static_cast(std::ceil(*__p * _M_max_load_factor)); + _M_next_resize = static_cast + (__builtin_ceil(*__p * _M_max_load_factor)); return std::make_pair(true, *__p); } else { - _M_next_resize = - static_cast(std::ceil(__n_bkt - * _M_max_load_factor)); + _M_next_resize = static_cast + (__builtin_ceil(__n_bkt * _M_max_load_factor)); return std::make_pair(false, 0); } }