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]