From 38f2eeba4d4b76b6367484fdde03e7fc7b21df91 Mon Sep 17 00:00:00 2001 From: Jeong YunWon Date: Sat, 11 Jul 2020 21:58:43 +0900 Subject: [PATCH] Fix overflow error --- src/lib.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index c79ce24..4492262 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -126,8 +126,8 @@ impl MT19937 { while k != 0 { self.mt[i] = (self.mt[i] ^ ((self.mt[i - 1] ^ (self.mt[i - 1] >> 30)).wrapping_mul(1664525u32))) - + init_key[j] - + j as u32; /* non linear */ + .wrapping_add(init_key[j]) + .wrapping_add(j as u32); /* non linear */ self.mt[i] &= 0xffffffffu32; /* for WORDSIZE > 32 machines */ i += 1; j += 1; @@ -144,7 +144,7 @@ impl MT19937 { while k != 0 { self.mt[i] = (self.mt[i] ^ ((self.mt[i - 1] ^ (self.mt[i - 1] >> 30)).wrapping_mul(1566083941u32))) - - i as u32; /* non linear */ + .wrapping_sub(i as u32); /* non linear */ self.mt[i] &= 0xffffffffu32; /* for WORDSIZE > 32 machines */ i += 1; if i >= N {