diff options
author | Stanislav Malyshev <stas@php.net> | 2008-03-07 03:39:29 +0000 |
---|---|---|
committer | Stanislav Malyshev <stas@php.net> | 2008-03-07 03:39:29 +0000 |
commit | 123b31cb5216d15c4a18bf88ee34dc1681fbb44b (patch) | |
tree | 68e4613e3ae60dc967f414ff9fc3d7f97f001018 /ext/standard/php_rand.h | |
parent | e9c77a5e9251306cf388aa2d874767269542c3fd (diff) | |
download | php-git-123b31cb5216d15c4a18bf88ee34dc1681fbb44b.tar.gz |
improve seed calculation
# better solution would be to port mt's multi-value seed procedure
Diffstat (limited to 'ext/standard/php_rand.h')
-rw-r--r-- | ext/standard/php_rand.h | 4 |
1 files 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); |