[cfe-commits] [libcxx] r145707 - in /libcxx/trunk/test/containers/unord: unord.map/ unord.map/unord.map.cnstr/ unord.multimap/ unord.multimap/unord.multimap.cnstr/ unord.multiset/ unord.multiset/unord.multiset.cnstr/ unord.set/ unord.set/unord.set.cnstr/

Howard Hinnant hhinnant at apple.com
Fri Dec 2 13:23:15 PST 2011


Author: hhinnant
Date: Fri Dec  2 15:23:14 2011
New Revision: 145707

URL: http://llvm.org/viewvc/llvm-project?rev=145707&view=rev
Log:
unord test fixes by Edward Meewis

Modified:
    libcxx/trunk/test/containers/unord/unord.map/load_factor.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/load_factor.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/rehash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/load_factor.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/load_factor.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp
    libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp

Modified: libcxx/trunk/test/containers/unord/unord.map/load_factor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/load_factor.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/load_factor.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/load_factor.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 int main()
 {
@@ -36,7 +37,7 @@
             P(80, "eighty"),
         };
         const C c(std::begin(a), std::end(a));
-        assert(c.load_factor() == (float)c.size() / c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_map<int, std::string> C;

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -67,7 +68,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -112,7 +113,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(c.at(4) == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/assign_move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -68,7 +69,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -113,7 +114,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c0.size() == 0);
     }
@@ -159,7 +160,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c0.size() == 0);
     }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -61,7 +62,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -101,7 +102,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_ADVANCED_SFINAE

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/copy_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -61,7 +62,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -56,7 +57,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -57,7 +58,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -59,7 +60,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/init_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -60,7 +61,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -98,7 +99,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/move_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -62,7 +63,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());
@@ -103,7 +104,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -58,7 +59,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -60,7 +61,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -62,7 +63,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -63,7 +64,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.map/unord.map.cnstr/range_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -21,6 +21,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -65,7 +66,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multimap/load_factor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/load_factor.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/load_factor.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/load_factor.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 int main()
 {
@@ -36,7 +37,7 @@
             P(80, "eighty"),
         };
         const C c(std::begin(a), std::end(a));
-        assert(c.load_factor() == (float)c.size() / c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_multimap<int, std::string> C;

Modified: libcxx/trunk/test/containers/unord/unord.multimap/rehash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/rehash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/rehash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/rehash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 void test(const std::unordered_multimap<int, std::string>& c)
 {
@@ -53,7 +54,7 @@
     assert(i->second == "four");
     assert(std::distance(c.begin(), c.end()) == c.size());
     assert(std::distance(c.cbegin(), c.cend()) == c.size());
-    assert(c.load_factor() == (float)c.size()/c.bucket_count());
+    assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
 }
 
 int main()

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -81,7 +82,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -140,7 +141,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -79,7 +80,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/assign_move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -88,7 +89,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -153,7 +154,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -218,7 +219,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -75,7 +76,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -129,7 +130,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_ADVANCED_SFINAE

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/copy_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -75,7 +76,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -73,7 +74,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >());
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -75,7 +76,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >());
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -76,7 +77,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -78,7 +79,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/init_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -79,7 +80,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -117,7 +118,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/move_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -84,7 +85,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));
@@ -148,7 +149,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -77,7 +78,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >());
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -79,7 +80,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >());
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -81,7 +82,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >());

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -82,7 +83,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multimap/unord.multimap.cnstr/range_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -21,6 +21,7 @@
 #include <unordered_map>
 #include <string>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../NotConstructible.h"
@@ -84,7 +85,7 @@
         assert(i->second == "four");
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
         assert(c.hash_function() == test_hash<std::hash<int> >(8));
         assert(c.key_eq() == test_compare<std::equal_to<int> >(9));

Modified: libcxx/trunk/test/containers/unord/unord.multiset/load_factor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/load_factor.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/load_factor.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/load_factor.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 int main()
 {
@@ -35,7 +36,7 @@
             P(80)
         };
         const C c(std::begin(a), std::end(a));
-        assert(c.load_factor() == (float)c.size() / c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_multiset<int> C;

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -74,7 +75,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -127,7 +128,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(c.count(4) == 1);
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/assign_move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -75,7 +76,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -120,7 +121,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -165,7 +166,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -67,7 +68,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -114,7 +115,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_ADVANCED_SFINAE

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/copy_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -67,7 +68,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -52,7 +53,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -56,7 +57,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -57,7 +58,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/init_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -58,7 +59,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -95,7 +96,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/move_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -69,7 +70,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());
@@ -110,7 +111,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -55,7 +56,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -57,7 +58,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -59,7 +60,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -60,7 +61,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.multiset/unord.multiset.cnstr/range_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -62,7 +63,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/load_factor.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/load_factor.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/load_factor.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/load_factor.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 int main()
 {
@@ -35,7 +36,7 @@
             P(80)
         };
         const C c(std::begin(a), std::end(a));
-        assert(c.load_factor() == (float)c.size() / c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
     }
     {
         typedef std::unordered_set<int> C;

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -66,7 +67,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -111,7 +112,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(c.count(4) == 1);
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/assign_move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -67,7 +68,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -112,7 +113,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
     {
@@ -157,7 +158,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_RVALUE_REFERENCES

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -59,7 +60,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #ifndef _LIBCPP_HAS_NO_ADVANCED_SFINAE
@@ -98,7 +99,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_ADVANCED_SFINAE

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/copy_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -59,7 +60,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -52,7 +53,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -54,7 +55,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -56,7 +57,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -57,7 +58,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/init_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -58,7 +59,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 #endif  // _LIBCPP_HAS_NO_GENERALIZED_INITIALIZERS

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -95,7 +96,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/move_alloc.pass.cpp Fri Dec  2 15:23:14 2011
@@ -17,6 +17,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../test_compare.h"
 #include "../../../test_hash.h"
@@ -61,7 +62,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());
@@ -102,7 +103,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
 
         assert(c0.empty());

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -55,7 +56,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size.pass.cpp Fri Dec  2 15:23:14 2011
@@ -18,6 +18,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -57,7 +58,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -59,7 +60,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal.pass.cpp Fri Dec  2 15:23:14 2011
@@ -19,6 +19,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -60,7 +61,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }

Modified: libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp
URL: http://llvm.org/viewvc/llvm-project/libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp?rev=145707&r1=145706&r2=145707&view=diff
==============================================================================
--- libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp (original)
+++ libcxx/trunk/test/containers/unord/unord.set/unord.set.cnstr/range_size_hash_equal_allocator.pass.cpp Fri Dec  2 15:23:14 2011
@@ -20,6 +20,7 @@
 
 #include <unordered_set>
 #include <cassert>
+#include <cfloat>
 
 #include "../../../iterators.h"
 #include "../../../test_compare.h"
@@ -62,7 +63,7 @@
         assert(!c.empty());
         assert(std::distance(c.begin(), c.end()) == c.size());
         assert(std::distance(c.cbegin(), c.cend()) == c.size());
-        assert(c.load_factor() == (float)c.size()/c.bucket_count());
+        assert(fabs(c.load_factor() - (float)c.size()/c.bucket_count()) < FLT_EPSILON);
         assert(c.max_load_factor() == 1);
     }
 }





More information about the cfe-commits mailing list