aboutsummaryrefslogtreecommitdiff
path: root/std
diff options
context:
space:
mode:
authorRyan Liptak <squeek502@hotmail.com>2019-06-05 23:36:51 -0700
committerRyan Liptak <squeek502@hotmail.com>2019-06-05 23:36:51 -0700
commit8f4229a61c311c0fc990c34b280ec91010595bc9 (patch)
treea822798e92bc7e6ad3e1325a76f4c1a2ee7a100c /std
parent656ac43735094f7cc6b4616cd95e0d427b0174a6 (diff)
downloadzig-8f4229a61c311c0fc990c34b280ec91010595bc9.tar.gz
zig-8f4229a61c311c0fc990c34b280ec91010595bc9.zip
std.HashMap: use std.math.ceilPowerOfTwo
Diffstat (limited to 'std')
-rw-r--r--std/hash_map.zig6
1 files changed, 3 insertions, 3 deletions
diff --git a/std/hash_map.zig b/std/hash_map.zig
index af58ae076a..e64bdd09b4 100644
--- a/std/hash_map.zig
+++ b/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