ID: 14646
Updated by: derick
Reported By: [EMAIL PROTECTED]
Old Status: Assigned
Status: Closed
Bug Type: Math related
Operating System: Linux (Debian sid)
PHP Version: 4.1.0
Old Assigned To: derick
Assigned To: 
New Comment:

Fixed in CVS. Floor() always returns a float now.

Derick

Previous Comments:
------------------------------------------------------------------------

[2001-12-21 11:15:33] [EMAIL PROTECTED]

It's not bogus

------------------------------------------------------------------------

[2001-12-21 11:08:48] [EMAIL PROTECTED]

It works fine for me, on Debian Potato/PHP4.1.0/Apache1.3.22, and on Windows 2000 
(with the same php/apache versions).

------------------------------------------------------------------------

[2001-12-21 11:07:14] [EMAIL PROTECTED]

Checking it out.

------------------------------------------------------------------------

[2001-12-21 10:55:47] [EMAIL PROTECTED]

Executing this code:

print((      floor(7)  ==       floor(7.1) ) . "<BR>");
print((pow(2,floor(7)) == pow(2,floor(7.1))) . "<BR>");

outputs

1<BR><BR>

So, if floor(7) is equal to floor(7.1) how can pow(2,x) from both numbers be 
different?

PHP 4.0.3pl1 gives the correct output 1<BR>1<BR>

Using the === to compare both non of the expressions is true, so i think floor and pow 
return int if the input is a integer, but the documentation says they always returns 
float. If i use 7.0 instead if 7 the output is correct and both expressions are equal.


------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=14646&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to