ID: 25751 Updated by: [EMAIL PROTECTED] Reported By: dbjm at comcast dot net -Status: Open +Status: Analyzed -Bug Type: Math related +Bug Type: Documentation problem Operating System: Windows 2000 & Linux 9 PHP Version: 4.3.2 New Comment:
There are some documentation problems: 1. pow() no longer shows any errors, even if parameters are invalid 2. pow(-1,1.1) produces complex number which PHP does not support. For dbjm at comcast dot net: Look manual for "is_finite()" function. Previous Comments: ------------------------------------------------------------------------ [2003-10-03 18:12:12] dbjm at comcast dot net Description: ------------ The pow() function returns incorrect numbers when using a negative number base. This is not a crisis to fix for me - I have worked around it. Thanks for the great work on developing PHP. Sincerely, Dave Reproduce code: --------------- echo "pow(3.125, 3.125) = " . pow(3.125, 3.125). "<br>"; echo "pow(-3.125, 3.125) = " . pow(-3.125, 3.125). "<br>"; echo "pow(3.125, -3.125) = " . pow(3.125, -3.125). "<br>"; echo "pow(-3.125, -3.125) = " . pow(-3.125, -3.125). "<br>"; Expected result: ---------------- When the same calcualtion is made using Visual Basic the results are: 3.125 ^ 3.125 = 35.1889507775869 -3.125 ^ 3.125 = -35.1889507775869 3.125 ^ -3.125 = 2.84180112763389E-02 -3.125 ^ -3.125 = -2.84180112763389E-02 Actual result: -------------- Windows 2000: pow(3.125, 3.125) = 35.1889507776 pow(-3.125, 3.125) = -1.#IND pow(3.125, -3.125) = 0.0284180112763 pow(-3.125, -3.125) = -1.#IND Linux 9: pow(3.125, 3.125) = 35.188950777587 pow(-3.125, 3.125) = NAN pow(3.125, -3.125) = 0.028418011276339 pow(-3.125, -3.125) = NAN ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=25751&edit=1