Skip to content
93 changes: 93 additions & 0 deletions reference/bc/functions/bcceil.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.bcceil" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcceil</refname>
<refpurpose>Round up arbitrary precision number</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>bcceil</methodname>
<methodparam><type>string</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<simpara>
Returns the next highest integer value by rounding up
<parameter>num</parameter> if necessary.
</simpara>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>num</parameter></term>
<listitem>
<simpara>
The value to round.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Returns a numeric string representing <parameter>num</parameter> rounded up to the nearest integer.
</simpara>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>bcceil</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(bcceil('4.3'));
var_dump(bcceil('9.999'));
var_dump(bcceil('-3.14'));
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
string(1) "5"
string(2) "10"
string(2) "-3"
]]>
</screen>
</example>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>bcfloor</function></member>
<member><function>bcround</function></member>
</simplelist>
</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
-->
2 changes: 2 additions & 0 deletions reference/bc/functions/bcdiv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,8 @@ echo bcdiv('105', '6.55957', 3); // 16.007
&reftitle.seealso;
<para>
<simplelist>
<member><function>bcdivmod</function></member>
<member><function>bcmod</function></member>
<member><function>bcmul</function></member>
</simplelist>
</para>
Expand Down
138 changes: 138 additions & 0 deletions reference/bc/functions/bcdivmod.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,138 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.bcdivmod" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcdivmod</refname>
<refpurpose>Get the quotient and modulus of an arbitrary precision number</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>bcdivmod</methodname>
<methodparam><type>string</type><parameter>num1</parameter></methodparam>
<methodparam><type>string</type><parameter>num2</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
Get the quotient and remainder of dividing <parameter>num1</parameter> by
<parameter>num2</parameter>.
</simpara>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>num1</parameter></term>
<listitem>
<simpara>
The dividend, as a string.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>num2</parameter></term>
<listitem>
<simpara>
The divisor, as a string.
</simpara>
</listitem>
</varlistentry>
&bc.scale.description;
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Returns an indexed <type>array</type> where the first element is the quotient as a <type>string</type>
and the second element is the remainder as a <type>string</type>.
</simpara>
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<para>
This function throws a <exceptionname>ValueError</exceptionname> in the following cases:
<simplelist>
<member><parameter>num1</parameter> or <parameter>num2</parameter> is not a well-formed BCMath numeric string</member>
<member><parameter>scale</parameter> is outside the valid range</member>
</simplelist>
</para>
<simpara>
This function throws a <exceptionname>DivisionByZeroError</exceptionname> exception if <parameter>num2</parameter>
is <literal>0</literal>.
</simpara>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>bcdivmod</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
bcscale(0);

[$quot, $rem] = bcdivmod('5', '3');
echo $quot; // 1
echo $rem; // 2

[$quot, $rem] = bcdivmod('5', '-3');
echo $quot; // -1
echo $rem; // 2

[$quot, $rem] = bcdivmod('-5', '3');
echo $quot; // -1
echo $rem; // -2

[$quot, $rem] = bcdivmod('-5', '-3');
echo $quot; // 1
echo $rem; // -2
?>
]]>
</programlisting>
</example>
<example>
<title><function>bcdivmod</function> with decimals</title>
<programlisting role="php">
<![CDATA[
<?php
[$quot, $rem] = bcdivmod('5.7', '1.3', 1);
echo $quot; // 4
echo $rem; // 0.5
?>
]]>
</programlisting>
</example>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>bcdiv</function></member>
<member><function>bcmod</function></member>
</simplelist>
</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
-->
93 changes: 93 additions & 0 deletions reference/bc/functions/bcfloor.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="function.bcfloor" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcfloor</refname>
<refpurpose>Round down arbitrary precision number</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>bcfloor</methodname>
<methodparam><type>string</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<simpara>
Returns the next lowest integer value by rounding down
<parameter>num</parameter> if necessary.
</simpara>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>num</parameter></term>
<listitem>
<simpara>
The value to round.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Returns a numeric string representing <parameter>num</parameter> rounded down to the nearest integer.
</simpara>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>bcfloor</function> example</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(bcfloor('4.3'));
var_dump(bcfloor('9.999'));
var_dump(bcfloor('-3.14'));
?>
]]>
</programlisting>
&example.outputs;
<screen role="php">
<![CDATA[
string(1) "4"
string(1) "9"
string(2) "-4"
]]>
</screen>
</example>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>bcceil</function></member>
<member><function>bcround</function></member>
</simplelist>
</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
-->
1 change: 1 addition & 0 deletions reference/bc/functions/bcmod.xml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ echo bcmod('5.7', '1.3'); // 0.5 as of PHP 7.2.0; 0 previously
<para>
<simplelist>
<member><function>bcdiv</function></member>
<member><function>bcdivmod</function></member>
</simplelist>
</para>
</refsect1>
Expand Down
Loading