From 0d6cdac9ff56d8464354056380236e8faeff6a92 Mon Sep 17 00:00:00 2001 From: Stanislav Malyshev Date: Fri, 7 Mar 2008 03:34:47 +0000 Subject: [PATCH] improve seed calculation # better solution would be to port mt's multi-value seed procedure --- ext/standard/php_rand.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ext/standard/php_rand.h b/ext/standard/php_rand.h index 50fddcdf26..804a14b2aa 100644 --- a/ext/standard/php_rand.h +++ b/ext/standard/php_rand.h @@ -47,9 +47,9 @@ #define PHP_MT_RAND_MAX ((long) (0x7FFFFFFF)) /* (1<<31) - 1 */ #ifdef PHP_WIN32 -#define GENERATE_SEED() ((long) (time(0) * GetCurrentProcessId() * 1000000 * php_combined_lcg(TSRMLS_C))) +#define GENERATE_SEED() (((long) (time(0) * GetCurrentProcessId())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C)))) #else -#define GENERATE_SEED() ((long) (time(0) * getpid() * 1000000 * php_combined_lcg(TSRMLS_C))) +#define GENERATE_SEED() (((long) (time(0) * getpid())) ^ ((long) (1000000.0 * php_combined_lcg(TSRMLS_C))))) #endif PHPAPI void php_srand(long seed TSRMLS_DC); -- 2.40.0