ID: 41108
Updated by: [EMAIL PROTECTED]
Reported By: jack dot nerad at comcast dot net
-Status: Verified
+Status: Closed
Bug Type: Documentation problem
PHP Version: Irrelevant
New Comment:
This bug has been fixed in the documentation's XML sources. Since the
online and downloadable versions of the documentation need some time
to get updated, we would like to ask you to be a bit patient.
Thank you for the report, and for helping us make our documentation
better.
Previous Comments:
------------------------------------------------------------------------
[2007-05-16 13:57:17] ljbuesch at purdue dot edu
As long as anyone isn't against the last patch, I will submit that
patch later tonight and close this bug report.
------------------------------------------------------------------------
[2007-04-19 02:27:02] ljbuesch at purdue dot edu
Just a quick note on the Windows platform comment... it was commented
in the previous bug report and not in the source comments.
------------------------------------------------------------------------
[2007-04-19 02:25:38] ljbuesch at purdue dot edu
I apologize for not taking a better look at this documentation bug. It
appears that from bug#25751 was the first one to report that you cannot
use negative bases in pow().
This is because it in the bug report, it would have resulted in a
complex number, which PHP (at that time) did not support. I am unsure
if PHP supports complex numbers at this time. In the bug report, it had
shown a bogus result for the computation. In the comments for math.c,
version 1.69 it said that for PHP <=4.0.6 it would return bogus results
for the Windows platform. Since the bug report did not include a
version number, I would assume that it was using that version.
In bug#40729, it was shown that PHP can do negative bases in an
example, and they assumed that it was a mistake made in the the pow()
documentation, and that what they meant was that it couldnt do negative
exponents (an error in the fix for #25751). The documentation was then
changed to say it cannot handle negative powers.
I am not sure how you wanted the examples to be commented though, so I
did what I thought was best.
### Eclipse Workspace Patch 1.0
#P PHPDoc
Index: en/reference/math/functions/pow.xml
===================================================================
RCS file: /repository/phpdoc/en/reference/math/functions/pow.xml,v
retrieving revision 1.11
diff -u -r1.11 pow.xml
--- en/reference/math/functions/pow.xml 31 Mar 2007 19:18:23
-0000 1.11
+++ en/reference/math/functions/pow.xml 19 Apr 2007 02:24:46 -0000
@@ -16,11 +16,6 @@
Returns <parameter>base</parameter> raised to the power of
<parameter>exp</parameter>.
</para>
- <note>
- <para>
- PHP cannot handle negative <parameter>exp</parameter>s.
- </para>
- </note>
<warning>
<para>
In PHP 4.0.6 and earlier <function>pow</function> always returned
@@ -76,7 +71,8 @@
<entry>Since 4.0.6</entry>
<entry>
The function will now return <type>integer</type> results if
possible,
- before this it always returned a <type>float</type> result.
+ before this it always returned a <type>float</type> result.
For older
+ versions, you may receive a bogus result for complex numbers.
</entry>
</row>
<row>
@@ -104,8 +100,8 @@
echo pow(-1, 20); // 1
echo pow(0, 0); // 1
-echo pow(-1, 5.5); // error
-
+echo pow(-1, 5.5); // PHP >4.0.6 NAN
+echo pow(-1, 5.5); // PHP <=4.0.6 1.#IND
?>
]]>
</programlisting>
------------------------------------------------------------------------
[2007-04-18 21:46:24] [EMAIL PROTECTED]
Looks like php 4.2.0 introduced better pow() support (the whole
function was re-done at revision 1.70 (just before 4.2.0rc1 release).
------------------------------------------------------------------------
[2007-04-18 21:32:27] [EMAIL PROTECTED]
Thank you guys for the bug report and patch, it's the right idea but
the php manual has change logs for functions.
Tasks for tackling this bug report:
- Find out exactly which PHP version(s) this behavior changed
- Add an entry to the changelog role in math/functions/pow.xml
- Add an example to these docs using a negative exponent, and
if appropriate add version info within the example comments
- Decide if other functions were affected by this change in the
php sources (See also: NEWS, php-src/)
- If a 'fairly recent' change, add a nice example that works
in all versions
- Clean user notes
A good starting place:
- http://cvs.php.net/viewvc.cgi/php-src/ext/standard/math.c?view=log
- http://php.net/manual/en/function.pow
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/41108
--
Edit this bug report at http://bugs.php.net/?id=41108&edit=1