From 1046dfb136ec8ad488be50c31fa797d97af0b25a Mon Sep 17 00:00:00 2001 From: Daniel Dunbar Date: Fri, 26 Aug 2005 16:07:44 +0000 Subject: [PATCH] - tsk tsk, ll suffix for constants is not C standard, doesn't work on msvc --- source/blender/blenlib/intern/rand.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/source/blender/blenlib/intern/rand.c b/source/blender/blenlib/intern/rand.c index a8b59fc58f3..526f190f545 100644 --- a/source/blender/blenlib/intern/rand.c +++ b/source/blender/blenlib/intern/rand.c @@ -44,11 +44,16 @@ #if defined(WIN32) && !defined(FREE_WINDOWS) typedef unsigned __int64 r_uint64; + +#define MULTIPLIER 0x5DEECE66Di64 +#define MASK 0x0000FFFFFFFFFFFFi64 #else typedef unsigned long long r_uint64; + +#define MULTIPLIER 0x5DEECE66Dll +#define MASK 0x0000FFFFFFFFFFFFll #endif -#define MULTIPLIER 0x5DEECE66DLL #define ADDEND 0xB #define LOWSEED 0x330E @@ -78,7 +83,7 @@ void rng_seed(RNG *rng, unsigned int seed) { } int rng_getInt(RNG *rng) { - rng->X= (MULTIPLIER*rng->X + ADDEND)&0x0000FFFFFFFFFFFFLL; + rng->X= (MULTIPLIER*rng->X + ADDEND)&MASK; return (int) (rng->X>>17); }