zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit ebedc99ac1148c8d3465ad2338d3db142e57579f (tree)
parent 5017a1d895847df6cc02dc4bedd02aa341177171
Author: daurnimator <quae@daurnimator.com>
Date:   Mon, 20 May 2019 23:22:58 +1000

std: add math.isPowerOfTwo

Diffstat:
Mstd/math.zig | 5+++++
1 file changed, 5 insertions(+), 0 deletions(-)

diff --git a/std/math.zig b/std/math.zig @@ -680,6 +680,11 @@ pub fn alignCast(comptime alignment: u29, ptr: var) AlignCastError!@typeOf(@alig return @alignCast(alignment, ptr); } +pub fn isPowerOfTwo(v: var) bool { + assert(v != 0); + return (v & (v - 1)) == 0; +} + pub fn floorPowerOfTwo(comptime T: type, value: T) T { var x = value;