about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2011-12-07 16:56:49 -0800
committerNiko Matsakis <niko@alum.mit.edu>2011-12-07 17:05:58 -0800
commit0fc4403442504dfd05e317f7d34d8935d4c47e0f (patch)
treeb6dfa6690fc6eea8025fc48de35edeedec860e93 /src/libstd
parent1ff8994fce4a7ba719bc0b35dceb6442a66888a0 (diff)
downloadrust-0fc4403442504dfd05e317f7d34d8935d4c47e0f.tar.gz
rust-0fc4403442504dfd05e317f7d34d8935d4c47e0f.zip
use util::rational to work around bug w/ floats on win
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/map.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 18cae4d55b7..dd9d939a20e 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -296,15 +296,15 @@ mod chained {
     }
 
     obj o<copy K, copy V>(tbl: @t<K,V>,
-                          lf: float) {
+                          lf: util::rational) {
         fn size() -> uint {
             ret tbl.size;
         }
 
         fn insert(k: K, v: V) -> bool {
             let nchains = vec::len(tbl.chains);
-            let load = (tbl.size + 1u as float) / (nchains as float);
-            if load > lf {
+            let load = {num:tbl.size + 1u as int, den:nchains as int};
+            if !util::rational_leq(load, lf) {
                 rehash(*tbl);
             }
             ret insert(*tbl, k, v);
@@ -349,7 +349,7 @@ mod chained {
                   mutable chains: chains(initial_capacity),
                   hasher: hasher,
                   eqer: eqer};
-        ret o(t, 0.75);
+        ret o(t, {num:3, den:4});
     }
 }