From c5d3fdca444689dfd96029e605a4d6e9f9d792c5 Mon Sep 17 00:00:00 2001 From: Jeroen van Rijn Date: Sun, 3 Nov 2024 14:07:31 +0100 Subject: [PATCH] `mem.is_aligned` is in bytes, not log2 bytes Fix formula and clarify comment --- core/mem/mem.odin | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/mem/mem.odin b/core/mem/mem.odin index 67ed56c39..f00980af5 100644 --- a/core/mem/mem.odin +++ b/core/mem/mem.odin @@ -461,10 +461,12 @@ Check if a pointer is aligned. This procedure checks whether a pointer `x` is aligned to a boundary specified by `align`, and returns `true` if the pointer is aligned, and false otherwise. + +The specified alignment must be a power of 2. */ is_aligned :: proc "contextless" (x: rawptr, align: int) -> bool { p := uintptr(x) - return (p & (1<