- Add GMP function examples, and fix a few problems.

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@150741 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Dave Barr 2004-02-08 08:46:23 +00:00
parent e410dbf359
commit a735c76887
34 changed files with 855 additions and 52 deletions

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-abs">
<refnamediv>
@ -15,6 +15,29 @@
<para>
Returns absolute value of <parameter>a</parameter>.
</para>
<example>
<title><function>gmp_abs</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$abs1 = gmp_abs("274982683358");
$abs2 = gmp_abs("-274982683358");
echo gmp_strval($abs1) . "\n";
echo gmp_strval($abs2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
274982683358
274982683358
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-add">
<refnamediv>
@ -17,6 +17,25 @@
Add two GMP numbers. The result will be a GMP number representing
the sum of the arguments.
</para>
<example>
<title><function>gmp_add</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$sum = gmp_add("123456789012345", "76543210987655");
echo gmp_strval($sum) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
200000000000000
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-and">
<refnamediv>
@ -16,6 +16,26 @@
<para>
Calculates logical AND of two GMP numbers.
</para>
<example>
<title><function>gmp_and</function> example</title>
<programlisting role="php">
<![CDATA[
$and1 = gmp_and("0xfffffffff4", "0x4");
$and2 = gmp_and("0xfffffffff4", "0x8");
echo gmp_strval($and1) . "\n";
echo gmp_strval($and2) . "\n";
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
4
0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-clrbit">
<refnamediv>
@ -9,13 +9,42 @@
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>resource</type><methodname>gmp_clrbit</methodname>
<type>void</type><methodname>gmp_clrbit</methodname>
<methodparam><type>resource</type><parameter>&amp;a</parameter></methodparam>
<methodparam><type>int</type><parameter>index</parameter></methodparam>
</methodsynopsis>
<para>
Clears (sets to 0) bit <parameter>index</parameter> in
<parameter>a</parameter>.
<parameter>a</parameter>. The index starts at 0.
</para>
<note>
<para>
Unlike most of the other GMP functions, <function>gmp_clrbit</function>
must be called with a GMP resource that already exists (using
<function>gmp_init</function> for example). One will not be
automatically created.
</para>
</note>
<example>
<title><function>gmp_clrbit</function> example</title>
<programlisting role="php">
<![CDATA[
$a = gmp_init("0xff");
gmp_clrbit($a, 0); // index starts at 0, least significant bit
echo gmp_strval($a) . "\n";
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
254
]]>
</screen>
</example>
<para>
See also <function>gmp_setbit</function>.
</para>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-cmp">
<refnamediv>
@ -14,10 +14,32 @@
<methodparam><type>resource</type><parameter>b</parameter></methodparam>
</methodsynopsis>
<para>
Returns a positive value if <literal>a > b</literal>, zero if
<literal>a = b</literal> and negative value if <literal>a &lt;
Returns a positive value if <literal>a &gt; b</literal>, zero if
<literal>a = b</literal> and a negative value if <literal>a &lt;
b</literal>.
</para>
<example>
<title><function>gmp_cmp</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$cmp1 = gmp_cmp("1234", "1000"); // greater than
$cmp2 = gmp_cmp("1000", "1234"); // less than
$cmp3 = gmp_cmp("1234", "1234"); // equal to
echo "$cmp1 $cmp2 $cmp3\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
1 -1 0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.20 -->
<refentry id='function.gmp-com'>
<refnamediv>
<refname>gmp_com</refname>
<refpurpose>Calculates one's complement of a</refpurpose>
<refpurpose>Calculates one's complement</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@ -13,8 +13,28 @@
<methodparam><type>resource</type><parameter>a</parameter></methodparam>
</methodsynopsis>
<para>
&warn.undocumented.func;
Returns the one's complement of <parameter>a</parameter>.
</para>
<example>
<title><function>gmp_com</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$com = gmp_com("1234");
echo gmp_strval($com) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
-1235
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-div-q">
<refnamediv>
@ -43,6 +43,41 @@
<simpara>
This function can also be called as <function>gmp_div</function>.
</simpara>
<example>
<title><function>gmp_div_q</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$div1 = gmp_div_q("100", "5");
echo gmp_strval($div1) . "\n";
$div2 = gmp_div_q("1", "3");
echo gmp_strval($div2) . "\n";
$div3 = gmp_div_q("1", "3", GMP_ROUND_PLUSINF);
echo gmp_strval($div3) . "\n";
$div4 = gmp_div_q("-1", "4", GMP_ROUND_PLUSINF);
echo gmp_strval($div4) . "\n";
$div5 = gmp_div_q("-1", "4", GMP_ROUND_MINUSINF);
echo gmp_strval($div5) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
20
0
1
0
1
]]>
</screen>
</example>
<para>
See also <function>gmp_div_r</function>,
<function>gmp_div_qr</function>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-div-r">
<refnamediv>
@ -20,6 +20,25 @@
remainder has the sign of the <parameter>n</parameter> argument,
if not zero.
</para>
<example>
<title><function>gmp_div_r</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$div = gmp_div_r("105", "20");
echo gmp_strval($div) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
5
]]>
</screen>
</example>
<para>
See the <function>gmp_div_q</function> function for description
of the <parameter>round</parameter> argument.

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-divexact">
<refnamediv>
@ -19,6 +19,29 @@
correct results only when it is known in advance that
<parameter>d</parameter> divides <parameter>n</parameter>.
</para>
<example>
<title><function>gmp_divexact</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$div1 = gmp_divexact("10", "2");
echo gmp_strval($div1) . "\n";
$div2 = gmp_divexact("10", "3"); // bogus result
echo gmp_strval($div2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
5
2863311534
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-fact">
<refnamediv>
@ -15,6 +15,29 @@
<para>
Calculates factorial (<literal>a!</literal>) of <parameter>a</parameter>.
</para>
<example>
<title><function>gmp_fact</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$fact1 = gmp_fact(5); // 5 * 4 * 3 * 2 * 1
echo gmp_strval($fact1) . "\n";
$fact2 = gmp_fact(50); // 50 * 49 * 48, ... etc
echo gmp_strval($fact2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
120
30414093201713378043612608166064768844377641568960512000000000000
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-gcd">
<refnamediv>
@ -18,6 +18,25 @@
<parameter>b</parameter>. The result is always positive even if
either of, or both, input operands are negative.
</para>
<example>
<title><function>gmp_gcd</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$gcd = gmp_gcd("12", "21");
echo gmp_strval($gcd) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-hamdist">
<refnamediv>
@ -17,6 +17,34 @@
Returns the hamming distance between <parameter>a</parameter> and
<parameter>b</parameter>. Both operands should be non-negative.
</para>
<example>
<title><function>gmp_hamdist</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$ham1 = gmp_init("1001010011", 2);
$ham2 = gmp_init("1011111100", 2);
echo gmp_hamdist($ham1, $ham2) . "\n";
/* hamdist is equivilent to: */
echo gmp_popcount(gmp_xor($ham1, $ham2)) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
6
6
]]>
</screen>
</example>
<para>
See also <function>gmp_popcount</function>,
<function>gmp_xor</function>
</para>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-intval">
<refnamediv>
@ -22,6 +22,33 @@
</simpara>
</warning>
</para>
<example>
<title><function>gmp_intval</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// displays correct result
echo gmp_intval("2147483647") . "\n";
// displays wrong result, above PHP integer limit
echo gmp_intval("2147483648") . "\n";
// displays correct result
echo gmp_strval("2147483648") . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
2147483647
2147483647
2147483648
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-invert">
<refnamediv>
@ -18,6 +18,26 @@
<parameter>b</parameter>. Returns &false; if an inverse does not
exist.
</para>
<example>
<title><function>gmp_invert</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
echo gmp_invert("5", "10"); // no inverse, outputs nothing, result is FALSE
$invert = gmp_invert("5", "11");
echo gmp_strval($invert) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
9
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.3 $ -->
<!-- $Revision: 1.4 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-jacobi">
<refnamediv>
@ -20,6 +20,26 @@
<parameter>p</parameter>. <parameter>p</parameter> should be odd
and must be positive.
</para>
<example>
<title><function>gmp_jacobi</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
echo gmp_jacobi("1", "3") . "\n";
echo gmp_jacobi("2", "3") . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
1
0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-legendre">
<refnamediv>
@ -20,6 +20,26 @@
<parameter>p</parameter>. <parameter>p</parameter> should be odd
and must be positive.
</para>
<example>
<title><function>gmp_legendre</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
echo gmp_legendre("1", "3") . "\n";
echo gmp_legendre("2", "3") . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
1
0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-mod">
<refnamediv>
@ -18,6 +18,25 @@
<parameter>d</parameter>. The result is always non-negative, the
sign of <parameter>d</parameter> is ignored.
</para>
<example>
<title><function>gmp_mod</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$mod = gmp_mod("8", "3");
echo gmp_strval($mod) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
2
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-mul">
<refnamediv>
@ -17,6 +17,25 @@
Multiplies <parameter>a</parameter> by <parameter>b</parameter>
and returns the result.
</para>
<example>
<title><function>gmp_mul</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$mul = gmp_mul("12345678", "2000");
echo gmp_strval($mul) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
24691356000
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-neg">
<refnamediv>
@ -15,6 +15,28 @@
<para>
Returns -<parameter>a</parameter>.
</para>
<example>
<title><function>gmp_neg</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$neg1 = gmp_neg("1"); //
echo gmp_strval($neg1) . "\n";
$neg2 = gmp_neg("-1"); //
echo gmp_strval($neg2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
-1
1
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-or">
<refnamediv>
@ -16,6 +16,28 @@
<para>
Calculates logical inclusive OR of two GMP numbers.
</para>
<example>
<title><function>gmp_or</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$or1 = gmp_or("0xfffffff2", "4");
echo gmp_strval($or1, 16) . "\n";
$or2 = gmp_or("0xfffffff2", "2");
echo gmp_strval($or2, 16) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
fffffff6
fffffff2
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-perfect-square">
<refnamediv>
@ -16,6 +16,33 @@
Returns &true; if <parameter>a</parameter> is a perfect square,
&false; otherwise.
</para>
<example>
<title><function>gmp_perfect_square</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// 3 * 3, perfect square
var_dump(gmp_perfect_square("9"));
// not a perfect square
var_dump(gmp_perfect_square("7"));
// 1234567890 * 1234567890, perfect square
var_dump(gmp_perfect_square("1524157875019052100"));
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
bool(true)
bool(false)
bool(true)
]]>
</screen>
</example>
<para>
See also: <function>gmp_sqrt</function>,
<function>gmp_sqrtrm</function>.

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-popcount">
<refnamediv>
@ -15,6 +15,28 @@
<para>
Return the population count of <parameter>a</parameter>.
</para>
<example>
<title><function>gmp_popcount</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$pop1 = gmp_init("10000101", 2); // 3 1's
echo gmp_popcount($pop1) . "\n";
$pop2 = gmp_init("11111110", 2); // 7 1's
echo gmp_popcount($pop2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3
7
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-pow">
<refnamediv>
@ -18,6 +18,30 @@
<parameter>exp</parameter>. The case of 0^0 yields
1. <parameter>exp</parameter> cannot be negative.
</para>
<example>
<title><function>gmp_pow</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$pow1 = gmp_pow("2", 31);
echo gmp_strval($pow1) . "\n";
$pow2 = gmp_pow("0", 0);
echo gmp_strval($pow2) . "\n";
$pow3 = gmp_pow("2", -1); // Negative exp, generates warning
echo gmp_strval($pow3) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
2147483648
1
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-powm">
<refnamediv>
@ -19,6 +19,25 @@
<parameter>exp</parameter>) modulo <parameter>mod</parameter>. If
<parameter>exp</parameter> is negative, result is undefined.
</para>
<example>
<title><function>gmp_powm</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$pow1 = gmp_powm("2", "31", "2147483649");
echo gmp_strval($pow1) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
2147483648
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-prob-prime">
<refnamediv>
@ -25,6 +25,33 @@
<para>
The function uses Miller-Rabin's probabilistic test.
</para>
<example>
<title><function>gmp_prob_prime</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// definitely not a prime
echo gmp_prob_prime("6") . "\n";
// probably a prime
echo gmp_prob_prime("1111111111111111111") . "\n";
// definitely a prime
echo gmp_prob_prime("11") . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
0
1
2
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-random">
<refnamediv>
@ -14,10 +14,38 @@
</methodsynopsis>
<para>
Generate a random number. The number will be between
<parameter>limiter</parameter> and zero in value. If
<parameter>limiter</parameter> is negative, negative numbers are
generated.
zero and the number of bits per limb multiplied by
<parameter>limiter</parameter>. If <parameter>limiter</parameter>
is negative, negative numbers are generated.
</para>
<para>
A limb is an internal GMP mechanism. The number of bits in a limb is
not static, and can vary from system to system. Generally, the number
of bits in a limb is either 16 or 32, but this is not guaranteed.
</para>
<example>
<title><function>gmp_random</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$rand1 = gmp_random(1); // random number from 0 to 1 * bits per limb
$rand2 = gmp_random(2); // random number from 0 to 2 * bits per limb
echo gmp_strval($rand1) . "\n";
echo gmp_strval($rand2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program might be:
</para>
<screen>
<![CDATA[
1915834968
8642564075890328087
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-scan0">
<refnamediv>
@ -17,8 +17,33 @@
Scans <parameter>a</parameter>, starting with bit
<parameter>start</parameter>, towards more significant bits,
until the first clear bit is found. Returns the index of the
found bit.
found bit. The index starts from 0.
</para>
<example>
<title><function>gmp_scan0</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// "0" bit is found at position 3. index starts at 0
$s1 = gmp_init("10111", 2);
echo gmp_scan0($s1, 0) . "\n";
// "0" bit is found at position 7. index starts at 5
$s2 = gmp_init("101110000", 2);
echo gmp_scan0($s2, 5) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3
7
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-scan1">
<refnamediv>
@ -19,6 +19,31 @@
until the first set bit is found. Returns the index of the found
bit.
</para>
<example>
<title><function>gmp_scan1</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// "1" bit is found at position 3. index starts at 0
$s1 = gmp_init("01000", 2);
echo gmp_scan1($s1, 0) . "\n";
// "1" bit is found at position 9. index starts at 5
$s2 = gmp_init("01000001111", 2);
echo gmp_scan1($s2, 5) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3
9
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-setbit">
<refnamediv>
@ -9,7 +9,7 @@
<refsect1>
<title>Description</title>
<methodsynopsis>
<type>resource</type><methodname>gmp_setbit</methodname>
<type>void</type><methodname>gmp_setbit</methodname>
<methodparam><type>resource</type><parameter>&amp;a</parameter></methodparam>
<methodparam><type>int</type><parameter>index</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>set_clear</parameter></methodparam>
@ -18,7 +18,38 @@
Sets bit <parameter>index</parameter> in
<parameter>a</parameter>. <parameter>set_clear</parameter>
defines if the bit is set to 0 or 1. By default the bit is set to
1.
1. Index
</para>
<note>
<para>
Unlike most of the other GMP functions, <function>gmp_setbit</function>
must be called with a GMP resource that already exists (using
<function>gmp_init</function> for example). One will not be
automatically created.
</para>
</note>
<example>
<title><function>gmp_setbit</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$a = gmp_init("0xfd");
gmp_setbit($a, 1); // index starts at 0
echo gmp_strval($a) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
255
]]>
</screen>
</example>
<para>
See also <function>gmp_clrbit</function>.
</para>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-sign">
<refnamediv>
@ -13,9 +13,37 @@
<methodparam><type>resource</type><parameter>a</parameter></methodparam>
</methodsynopsis>
<para>
Return sign of <parameter>a</parameter> - 1 if
<parameter>a</parameter> is positive and -1 if it's negative.
Returns 1 if <parameter>a</parameter> is positive,
-1 if <parameter>a</parameter> is negative,
and 0 if <parameter>a</parameter> is zero.
</para>
<example>
<title><function>gmp_sign</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
// positive
echo gmp_sign("500") . "\n";
// negative
echo gmp_sign("-500") . "\n";
// zero
echo gmp_sign("0") . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
1
-1
0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-sqrt">
<refnamediv>
<refname>gmp_sqrt</refname>
<refpurpose>Square root</refpurpose>
<refpurpose>Calculate square root</refpurpose>
</refnamediv>
<refsect1>
<title>Description</title>
@ -13,8 +13,35 @@
<methodparam><type>resource</type><parameter>a</parameter></methodparam>
</methodsynopsis>
<para>
Calculates square root of <parameter>a</parameter>.
Calculates square root of <parameter>a</parameter> and returns the
integer portion of the result.
</para>
<example>
<title><function>gmp_sqrt</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$sqrt1 = gmp_sqrt("9");
$sqrt2 = gmp_sqrt("7");
$sqrt3 = gmp_sqrt("1524157875019052100");
echo gmp_strval($sqrt1) . "\n";
echo gmp_strval($sqrt2) . "\n";
echo gmp_strval($sqrt3) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3
2
1234567890
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version='1.0' encoding='iso-8859-1'?>
<!-- $Revision: 1.4 $ -->
<!-- $Revision: 1.5 $ -->
<refentry id="function.gmp-sqrtrem">
<refnamediv>
<refname>gmp_sqrtrem</refname>
@ -13,9 +13,39 @@
<type>array</type><methodname>gmp_sqrtrem</methodname>
<methodparam><type>resource</type><parameter>a</parameter></methodparam>
</methodsynopsis>
<para>
Returns array where first element is the integer square root of
<parameter>a</parameter> (see also
<function>gmp_sqrt</function>), and the second is the remainder
(i.e., the difference between <parameter>a</parameter> and the
first element squared).
</para>
<example>
<title><function>gmp_sqrtrem</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
list($sqrt1, $sqrt1rem) = gmp_sqrtrem("9");
list($sqrt2, $sqrt2rem) = gmp_sqrtrem("7");
list($sqrt3, $sqrt3rem) = gmp_sqrtrem("1048576");
&warn.undocumented.func;
echo gmp_strval($sqrt1) . ", " . gmp_strval($sqrt1rem) . "\n";
echo gmp_strval($sqrt2) . ", " . gmp_strval($sqrt2rem) . "\n";
echo gmp_strval($sqrt3) . ", " . gmp_strval($sqrt3rem) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
3, 0
2, 3
1024, 0
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-sub">
<refnamediv>
@ -17,6 +17,25 @@
Subtracts <parameter>b</parameter> from <parameter>a</parameter>
and returns the result.
</para>
<example>
<title><function>gmp_sub</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
$sub = gmp_sub("281474976710656", "4294967296"); // 2^48 - 2^32
echo gmp_strval($sub) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
281470681743360
]]>
</screen>
</example>
</refsect1>
</refentry>

View file

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- $Revision: 1.2 $ -->
<!-- $Revision: 1.3 $ -->
<!-- splitted from ./en/functions/gmp.xml, last change in rev 1.1 -->
<refentry id="function.gmp-xor">
<refnamediv>
@ -16,6 +16,28 @@
<para>
Calculates logical exclusive OR (XOR) of two GMP numbers.
</para>
<example>
<title><function>gmp_xor</function> example</title>
<programlisting role="php">
<![CDATA[
$xor1 = gmp_init("1101101110011101", 2);
$xor2 = gmp_init("0110011001011001", 2);
$xor3 = gmp_xor($xor1, $xor2);
echo gmp_strval($xor3, 2) . "\n";
?>
]]>
</programlisting>
<para>
The printout of the above program will be:
</para>
<screen>
<![CDATA[
1011110111000100
]]>
</screen>
</example>
</refsect1>
</refentry>