1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.pow" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pow</refname>
<refpurpose>Exponential expression</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>float</type><type>object</type></type><methodname>pow</methodname>
<methodparam><type>mixed</type><parameter>num</parameter></methodparam>
<methodparam><type>mixed</type><parameter>exponent</parameter></methodparam>
</methodsynopsis>
<para>
Returns <parameter>num</parameter> raised to the power of
<parameter>exponent</parameter>.
</para>
<note>
<para>
It is possible to use the <link linkend="language.operators.arithmetic">**</link> operator instead.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>num</parameter></term>
<listitem>
<para>
The base to use
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>exponent</parameter></term>
<listitem>
<para>
The exponent
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<parameter>num</parameter> raised to the power of <parameter>exponent</parameter>.
If both arguments are non-negative integers and the result can be represented
as an integer, the result will be returned with <type>int</type> type,
otherwise it will be returned as a <type>float</type>.
</para>
<para>
PHP-Extensions may override the behaviour of this operation and make it return an object.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Raising <literal>0</literal> to a negative
<parameter>exponent</parameter> is now deprecated.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Some examples of <function>pow</function></title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(pow(2, 8)); // int(256)
echo pow(-1, 20), PHP_EOL; // 1
echo pow(0, 0), PHP_EOL; // 1
echo pow(10, -1), PHP_EOL; // 0.1
var_dump(pow(new GMP("3"), new GMP("2"))); // object(GMP)
echo pow(-1, 5.5); // NAN
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
This function will convert all input to a number, even non-scalar values,
which could lead to <emphasis>weird</emphasis> results.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member>
Exponentiation operator
<link linkend="language.operators.arithmetic"><literal>**</literal></link>
</member>
<member><function>fpow</function></member>
<member><function>exp</function></member>
<member><function>sqrt</function></member>
<member><function>bcpow</function></member>
<member><function>gmp_pow</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->
|