From 3817420d42dd07fa9a48e1a7521cb520539b6f64 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Sat, 18 Apr 2020 14:41:33 -0400 Subject: [PATCH] ziggurat uses `@truncate` instead of `& 0xff` This makes it work on 32-bit targets. closes #2939 --- lib/std/rand/ziggurat.zig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/std/rand/ziggurat.zig b/lib/std/rand/ziggurat.zig index a9b11bf4a..06728f170 100644 --- a/lib/std/rand/ziggurat.zig +++ b/lib/std/rand/ziggurat.zig @@ -17,7 +17,7 @@ pub fn next_f64(random: *Random, comptime tables: ZigTable) f64 { // We manually construct a float from parts as we can avoid an extra random lookup here by // using the unused exponent for the lookup table entry. const bits = random.int(u64); - const i = @as(usize, bits & 0xff); + const i = @as(usize, @truncate(u8, bits)); const u = blk: { if (tables.is_symmetric) {