]> granicus.if.org Git - php/commitdiff
For those lucky systems with both random() and *rand48(), the random()
authorJim Jagielski <jimjag@php.net>
Tue, 6 Feb 2001 16:27:08 +0000 (16:27 +0000)
committerJim Jagielski <jimjag@php.net>
Tue, 6 Feb 2001 16:27:08 +0000 (16:27 +0000)
family is the prefered choice. So if both exist, we now choose that.

ChangeLog
NEWS
ext/standard/array.c
ext/standard/crypt.c
ext/standard/rand.c

index a3efea6f8cbabcb59127345aa15112d321fc2deb..b4e28761571ff50dde1f4879865d0c570e8d96ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2001-02-06  Jim Jagielski  <jim@jaguNET.com>
+
+    * ext/standard/array.c:
+      ext/standard/crypt.c:
+      ext/standard/rand.c:
+    Prefer the random() family over the *rand48() one
+
 2001-02-05  Zeev Suraski  <zeev@zend.com>
 
     * ext/com/typedef_VARIANT.c
diff --git a/NEWS b/NEWS
index 471e4aa6939c8200b2eebee2fc3b95eedb217fb6..cbd382a1e328a414611ddfac0be4a4a707faee15 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,7 @@ PHP 4.0                                                                    NEWS
 |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
 
 ?? ??? 200?, Version 4.0.5
+- Prefer random() over *rand48() (JimJag)
 - Sped up WDDX serialization 2x. (Andrei)
 - Added a new parameter to mail() which appends aditional command line
   parameters to the mail program. (Derick)
index 0060a1355a116101b8457bc4f44f2ef96742afcd..6d44cc4c25bf82b99bf23098cd7d5300e7ff1160 100644 (file)
@@ -1328,11 +1328,11 @@ PHP_FUNCTION(range)
 static int array_data_shuffle(const void *a, const void*b) {
        return (
        /* This is just a little messy. */
-#ifdef HAVE_LRAND48
-        lrand48()
-#else
 #ifdef HAVE_RANDOM
         random()
+#else
+#ifdef HAVE_LRAND48
+        lrand48()
 #else
         rand()
 #endif
@@ -2703,11 +2703,11 @@ PHP_FUNCTION(array_rand)
        zend_hash_internal_pointer_reset(Z_ARRVAL_PP(input));
        while (num_req_val && (key_type = zend_hash_get_current_key(Z_ARRVAL_PP(input), &string_key, &num_key, 0)) != HASH_KEY_NON_EXISTANT) {
 
-#ifdef HAVE_LRAND48
-               randval = lrand48();
-#else
 #ifdef HAVE_RANDOM
                randval = random();
+#else
+#ifdef HAVE_LRAND48
+               randval = lrand48();
 #else
                randval = rand();
 #endif
index d4cc55b43cd5b518a1f66030846adf78afc82f20..2293b7aed8a4677f09ecee28ae1393546b30ddb1 100644 (file)
@@ -85,10 +85,10 @@ extern char *crypt(char *__key,char *__salt);
 #define PHP_STD_DES_CRYPT 1
 #endif
 
-#if HAVE_LRAND48
-#define PHP_CRYPT_RAND lrand48()
-#elif HAVE_RANDOM
+#if HAVE_RANDOM
 #define PHP_CRYPT_RAND random()
+#elif HAVE_LRAND48
+#define PHP_CRYPT_RAND lrand48()
 #else
 #define PHP_CRYPT_RAND rand()
 #endif
@@ -105,10 +105,10 @@ PHP_MINIT_FUNCTION(crypt)
     REGISTER_LONG_CONSTANT("CRYPT_MD5", PHP_MD5_CRYPT, CONST_CS | CONST_PERSISTENT);
        REGISTER_LONG_CONSTANT("CRYPT_BLOWFISH", PHP_BLOWFISH_CRYPT, CONST_CS | CONST_PERSISTENT);
 
-#if HAVE_SRAND48
-       srand48((long) time(0) * (long) getpid() * (long) (php_combined_lcg() * 10000.0));
-#elif HAVE_SRANDOM
+#if HAVE_SRANDOM
        srandom((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0));
+#elif HAVE_SRAND48
+       srand48((long) time(0) * (long) getpid() * (long) (php_combined_lcg() * 10000.0));
 #else
        srand((unsigned int) time(0) * getpid() * (php_combined_lcg() * 10000.0));
 #endif
index 0413e31269d56d3abb44d3fa79b64bc3d45a3c6c..b184a75cec12d9894dd3524ee569190ac713876b 100644 (file)
@@ -199,11 +199,11 @@ PHP_FUNCTION(srand)
                WRONG_PARAM_COUNT;
        }
        convert_to_long_ex(arg);
-#ifdef HAVE_SRAND48
-       srand48((unsigned int) (*arg)->value.lval);
-#else
 #ifdef HAVE_SRANDOM
        srandom((unsigned int) (*arg)->value.lval);
+#else
+#ifdef HAVE_SRAND48
+       srand48((unsigned int) (*arg)->value.lval);
 #else
        srand((unsigned int) (*arg)->value.lval);
 #endif
@@ -253,11 +253,11 @@ PHP_FUNCTION(rand)
        }
                        
        return_value->type = IS_LONG;
-#ifdef HAVE_LRAND48
-       return_value->value.lval = lrand48();
-#else
 #ifdef HAVE_RANDOM
        return_value->value.lval = random();
+#else
+#ifdef HAVE_LRAND48
+       return_value->value.lval = lrand48();
 #else
        return_value->value.lval = rand();
 #endif