Ask a Question related to PHP Development, Design and Development.
-
a0 at hush dot com #1
#24909 [Fbk->Opn]: rand function with range always returns low value of range
ID: 24909
User updated by: a0 at hush dot com
Reported By: a0 at hush dot com
-Status: Feedback
+Status: Open
Bug Type: Math related
Operating System: solaris 8
PHP Version: 4.3.2
New Comment:
thanks for the response.
i have downloaded 4.3.3RC2 and tried it.
first, i configured it using no args. after i compiled
it, the rand() function behaves as expected, even with
a range specified. this works.
i then configured it with --with-nsapi=/usr/local/iws41,
which is what we need to use the module with our
webserver. after i compiled it, the cli program now
returns a 0 whenever a range is specified to rand().
i have not really looked through the code, but i would
guess this has something to do with the fact that php
is built with -DZTS in the second scenario (a different
random function is used in rand.c when this is
defined).
Previous Comments:
------------------------------------------------------------------------
[2003-08-02 12:46:58] [email]iliaa@php.net[/email]
I've asked a number of people to replicate the problem, however they
were unable to do so using latest PHP and Solaris 8 & 9. Please try the
latest snapshot of 4.3.3 and see if the problem persists.
------------------------------------------------------------------------
[2003-08-01 14:37:22] a0 at hush dot com
Description:
------------
when using the rand function with php 4.3.2 on solaris 8, it will
return a random value as expected if no range is specified. if a
range
is specified it will always return the low value of the range.
i'm building the module with -DZTS, and it is being loaded into
IWS4.1.
i've modified the code so it works by changing line 36 of
php_rand.h from
#if HAVE_LRAND48
to
#if (HAVE_LRAND48 && !sun)
so PHP_RAND_MAX will get a value of RAND_MAX.
Reproduce code:
---------------
<?
$r = rand();
echo "$r\n";
$r = rand(0, 100);
echo "$r\n";
?>
Expected result:
----------------
24384
0
(it will always return 0)
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=24909&edit=1[/url]
a0 at hush dot com Guest
-
#39464 [NEW]: Range function produces odd values in foreach loop
From: netnessie at gmail dot com Operating system: Linux PHP version: 5.2.0 PHP Bug Type: *Programming Data Structures Bug... -
value out of range
Having a nightmare with this bit of code: member("3D World").shader("wallsz-clone1").textureTransform.scale = vector( 1.000, 2.000, 1.000 ) It... -
Date Range
I?ve got a routine that figure out 30 days from today?s date, but what I want to do is resolve a start date and an end date where the start date is... -
#24909 [Opn->Fbk]: rand function with range always returns low value of range
ID: 24909 Updated by: iliaa@php.net Reported By: a0 at hush dot com -Status: Open +Status: Feedback... -
#24909 [NEW]: rand function with range always returns low value of range
From: a0 at hush dot com Operating system: solaris 8 PHP version: 4.3.2 PHP Bug Type: Math related Bug description: rand... -
a0 at hush dot com #2
#24909 [Fbk->Opn]: rand function with range always returns low value of range
ID: 24909
User updated by: a0 at hush dot com
Reported By: a0 at hush dot com
-Status: Feedback
+Status: Open
Bug Type: Math related
Operating System: solaris 8
PHP Version: 4.3.2
New Comment:
i used the cli binary in both cases
Previous Comments:
------------------------------------------------------------------------
[2003-08-02 15:00:52] [email]iliaa@php.net[/email]
I've tried the ZTS version on both Linux & Windows and it worked
perfectly in both cases. Did you run test via the nsapi module or using
PHP cli or cgi binaries?
------------------------------------------------------------------------
[2003-08-02 13:55:00] a0 at hush dot com
thanks for the response.
i have downloaded 4.3.3RC2 and tried it.
first, i configured it using no args. after i compiled
it, the rand() function behaves as expected, even with
a range specified. this works.
i then configured it with --with-nsapi=/usr/local/iws41,
which is what we need to use the module with our
webserver. after i compiled it, the cli program now
returns a 0 whenever a range is specified to rand().
i have not really looked through the code, but i would
guess this has something to do with the fact that php
is built with -DZTS in the second scenario (a different
random function is used in rand.c when this is
defined).
------------------------------------------------------------------------
[2003-08-02 12:46:58] [email]iliaa@php.net[/email]
I've asked a number of people to replicate the problem, however they
were unable to do so using latest PHP and Solaris 8 & 9. Please try the
latest snapshot of 4.3.3 and see if the problem persists.
------------------------------------------------------------------------
[2003-08-01 14:37:22] a0 at hush dot com
Description:
------------
when using the rand function with php 4.3.2 on solaris 8, it will
return a random value as expected if no range is specified. if a
range
is specified it will always return the low value of the range.
i'm building the module with -DZTS, and it is being loaded into
IWS4.1.
i've modified the code so it works by changing line 36 of
php_rand.h from
#if HAVE_LRAND48
to
#if (HAVE_LRAND48 && !sun)
so PHP_RAND_MAX will get a value of RAND_MAX.
Reproduce code:
---------------
<?
$r = rand();
echo "$r\n";
$r = rand(0, 100);
echo "$r\n";
?>
Expected result:
----------------
24384
0
(it will always return 0)
------------------------------------------------------------------------
--
Edit this bug report at [url]http://bugs.php.net/?id=24909&edit=1[/url]
a0 at hush dot com Guest



Reply With Quote

