Commit 8f4229a61c

Ryan Liptak <squeek502@hotmail.com>
2019-06-06 08:36:51
std.HashMap: use std.math.ceilPowerOfTwo
1 parent 656ac43
Changed files (1)
std/hash_map.zig
@@ -139,9 +139,9 @@ pub fn HashMap(comptime K: type, comptime V: type, comptime hash: fn (key: K) u3
             // ensure that the hash map will be at most 60% full if
             // expected_count items are put into it
             var optimized_capacity = expected_count * 5 / 3;
-            // round capacity to the next power of two
-            const pow = math.log2_int_ceil(usize, optimized_capacity);
-            return math.pow(usize, 2, pow);
+            // an overflow here would mean the amount of memory required would not
+            // be representable in the address space
+            return math.ceilPowerOfTwo(usize, optimized_capacity) catch unreachable;
         }
 
         /// Increases capacity so that the hash map will be at most