OSDN Git Service

2007-12-24 Paolo Carlini <pcarlini@suse.de>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Dec 2007 14:32:21 +0000 (14:32 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 24 Dec 2007 14:32:21 +0000 (14:32 +0000)
* 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 <cmath>; prefer
<bits/stringfwd.h> to <string>.
* include/std/unordered_set: Likewise.
* include/tr1/unordered_map: Likewise.
* include/tr1/unordered_set: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131157 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/std/unordered_map
libstdc++-v3/include/std/unordered_set
libstdc++-v3/include/tr1/unordered_map
libstdc++-v3/include/tr1/unordered_set
libstdc++-v3/include/tr1_impl/hashtable_policy.h

index c058ac7..99da8b5 100644 (file)
@@ -1,5 +1,15 @@
 2007-12-24  Paolo Carlini  <pcarlini@suse.de>
 
+       * 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 <cmath>; prefer
+       <bits/stringfwd.h> to <string>.
+       * include/std/unordered_set: Likewise.
+       * include/tr1/unordered_map: Likewise.
+       * include/tr1/unordered_set: Likewise.
+
+2007-12-24  Paolo Carlini  <pcarlini@suse.de>
+
        * include/std/complex (complex<float>::complex(float, float)):
        Uglify parameters.
 
index 226fea8..4ce8051 100644 (file)
 #  error C++0x header cannot be included from TR1 header
 #endif
 
-#include <cmath>
-#include <string>
 #include <utility>
 #include <algorithm> // lower_bound
+#include <type_traits>
 #include <bits/allocator.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
-#include <type_traits>
+#include <bits/stringfwd.h>
 #include <bits/functional_hash.h>
 #include <bits/hashtable.h>
 
index 3b0f22c..3cc6937 100644 (file)
 #  error C++0x header cannot be included from TR1 header
 #endif
 
-#include <cmath>
-#include <string>
 #include <utility>
 #include <algorithm> // lower_bound
+#include <type_traits>
 #include <bits/allocator.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
-#include <type_traits>
+#include <bits/stringfwd.h>
 #include <bits/functional_hash.h>
 #include <bits/hashtable.h>
 
index 85e8f00..041eb94 100644 (file)
 #  error TR1 header cannot be included from C++0x header
 #endif
 
-#include <cmath>
-#include <string>
 #include <utility>
 #include <algorithm> // lower_bound
 #include <bits/allocator.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
+#include <bits/stringfwd.h>
 #include <tr1/type_traits>
 #include <tr1/functional_hash.h>
 #include <tr1/hashtable.h>
index 35c605f..1618168 100644 (file)
 #  error TR1 header cannot be included from C++0x header
 #endif
 
-#include <cmath>
-#include <string>
 #include <utility>
 #include <algorithm> // lower_bound
 #include <bits/allocator.h>
 #include <bits/stl_function.h> // equal_to, _Identity, _Select1st
+#include <bits/stringfwd.h>
 #include <tr1/type_traits>
 #include <tr1/functional_hash.h>
 #include <tr1/hashtable.h>
index 514d444..b74531c 100644 (file)
@@ -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::size_t>(std::ceil(*__p
-                                                       * _M_max_load_factor));
+    _M_next_resize = 
+      static_cast<std::size_t>(__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::size_t>(std::ceil(*__p
-                                                       * _M_max_load_factor));
+    _M_next_resize =
+      static_cast<std::size_t>(__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::size_t>(std::ceil(*__p * _M_max_load_factor));
+           _M_next_resize = static_cast<std::size_t>
+             (__builtin_ceil(*__p * _M_max_load_factor));
            return std::make_pair(true, *__p);
          }
        else 
          {
-           _M_next_resize =
-             static_cast<std::size_t>(std::ceil(__n_bkt
-                                                * _M_max_load_factor));
+           _M_next_resize = static_cast<std::size_t>
+             (__builtin_ceil(__n_bkt * _M_max_load_factor));
            return std::make_pair(false, 0);
          }
       }