From a77f8ae66dfa340293f50587f1c4969bc4113f9e Mon Sep 17 00:00:00 2001 From: Matt Dallmeyer <2515356+dallmeyer@users.noreply.github.com> Date: Sun, 14 Aug 2022 13:50:40 -0700 Subject: [PATCH] fix bug in knuth RNG (#1757) * fix bug in knuth RNG * real fix, thanks ManDude * cleanup negation --- goal_src/jak1/pc/util/knuth-rand.gc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/goal_src/jak1/pc/util/knuth-rand.gc b/goal_src/jak1/pc/util/knuth-rand.gc index 8c5bb7f248..bfd780e1f8 100644 --- a/goal_src/jak1/pc/util/knuth-rand.gc +++ b/goal_src/jak1/pc/util/knuth-rand.gc @@ -60,9 +60,9 @@ (val 0)) ;; if ((bound & -bound) == bound) // i.e., bound is a power of 2 - (if (= (logand bound (* -1 bound)) bound) + (if (= (logand bound (- bound)) bound) ;; return (int)((bound * (long)next(31)) >> 31); - (return (sar (* bound (knuth-rand-next 31)) 31)) + (return (+ min (sar (imul64 bound (knuth-rand-next 31)) 31))) ) ;; do {