mirror of
https://github.com/ziglang/zig.git
synced 2026-02-21 16:54:52 +00:00
Fix Log2Int type construction
The following case for example, would previously fail:
const a = u24(1) << Log2Int(u24)(22);
This commit is contained in:
parent
d3693dca73
commit
212449bc23
@ -306,7 +306,14 @@ test "math.rotl" {
|
||||
}
|
||||
|
||||
pub fn Log2Int(comptime T: type) type {
|
||||
return @IntType(false, log2(T.bit_count));
|
||||
// comptime ceil log2
|
||||
comptime var count: usize = 0;
|
||||
comptime var s = T.bit_count - 1;
|
||||
inline while (s != 0) : (s >>= 1) {
|
||||
count += 1;
|
||||
}
|
||||
|
||||
return @IntType(false, count);
|
||||
}
|
||||
|
||||
test "math overflow functions" {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user