Update Reference/bc/functions to En (#1008)

* Update language-snippets.ent Исправил формулировку

* Update bcdiv.xml

* Update bcmod.xml

* Update bcpow.xml

* Update bcmod.xml

* Update bcdiv.xml
This commit is contained in:
Mikhail Alferov
2024-11-30 07:51:55 +03:00
committed by GitHub
parent 2c543e9367
commit 4b45e5ed53
4 changed files with 151 additions and 41 deletions

View File

@ -2475,8 +2475,19 @@ INI_* даёт раздел «<xref xmlns="http://docbook.org/ns/docbook" linken
<!ENTITY sqlsafemode '<link xmlns="http://docbook.org/ns/docbook" linkend="ini.sql.safe-mode">SQL safe mode</link>'>
<!-- BCMath Notes -->
<!ENTITY bc.scale.description '<varlistentry xmlns="http://docbook.org/ns/docbook"><term>
<parameter>scale</parameter></term><listitem><para>Этот необязательный параметр используют для установки количества знаков после десятичного разделителя в результате. Если не задано, то, по умолчанию, будет использовано значение заданное глобально с помощью <function>bcscale</function>, либо <literal>0</literal>.</para></listitem></varlistentry>'>
<!ENTITY bc.scale.description '<varlistentry xmlns="http://docbook.org/ns/docbook">
<term>
<parameter>scale</parameter>
</term>
<listitem>
<para>
Необязательный параметр устанавливает количество знаков после десятичного разделителя, которое вернётся в результате.
Без аргумента количество знаков после десятичного разделителя равняется значению по умолчанию,
которое установили для параметра глобально функцией <function>bcscale</function>,
или резервному значению <literal>0</literal>, если глобальное значение не установили.
</para>
</listitem>
</varlistentry>'>
<!-- CTYPE Notes -->
<!ENTITY note.ctype.parameter.integer ' <note xmlns="http://docbook.org/ns/docbook">

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4754397753fd79f1c846868b66a2448babab1c54 Maintainer: tmn Status: ready -->
<!-- EN-Revision: 87f32875a189be7ee2a8487c0db3958579e4ce72 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.bcdiv" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcdiv</refname>
<refpurpose>
Операция деления для чисел произвольной точности
Делит два числа произвольной точности
</refpurpose>
</refnamediv>
@ -18,8 +18,7 @@
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Делит <parameter>num1</parameter> на
<parameter>num2</parameter>.
Функция делит число <parameter>num1</parameter> на число <parameter>num2</parameter>.
</para>
</refsect1>
@ -51,11 +50,30 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает результат деления в виде строки или &null;, если
<parameter>divisor</parameter> равен 0.
Функция возвращает результат деления в виде строки.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция выбрасывает ошибку <exceptionname>ValueError</exceptionname> в следующих случаях:
<simplelist>
<member>
Аргумент числа <parameter>num1</parameter> или <parameter>num2</parameter> оказался строкой,
которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath
</member>
<member>
Значение аргумента <parameter>scale</parameter> выходит за пределы допустимого диапазона
</member>
</simplelist>
</para>
<simpara>
Функция выбрасывает исключение <exceptionname>DivisionByZeroError</exceptionname>, если число <parameter>num2</parameter>
равно <literal>0</literal>.
</simpara>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
@ -70,7 +88,13 @@
<row>
<entry>8.0.0</entry>
<entry>
<parameter>scale</parameter> теперь допускает значение null.
Параметр <parameter>scale</parameter> теперь принимает значение &null;.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Деление на 0 теперь выбрасывает исключение <exceptionname>DivisionByZeroError</exceptionname> вместо возврата &null;.
</entry>
</row>
</tbody>
@ -81,7 +105,7 @@
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>bcdiv</function></title>
<title>Пример деления чисел произвольной точности функцией <function>bcdiv</function></title>
<programlisting role="php">
<![CDATA[
<?php

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4754397753fd79f1c846868b66a2448babab1c54 Maintainer: tmn Status: ready -->
<!-- EN-Revision: 87f32875a189be7ee2a8487c0db3958579e4ce72 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.bcmod" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@ -18,10 +18,10 @@
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Получает остаток от деления <parameter>num1</parameter> на
<parameter>num2</parameter>.
Если <parameter>num2</parameter> не равен нулю, результат будет иметь такой
же знак, что и <parameter>num1</parameter>.
Функция получает остаток от деления числа <parameter>num1</parameter>
на число <parameter>num2</parameter>.
Результат получит тот же знак, что и у числа <parameter>num1</parameter>,
если число <parameter>num2</parameter> не равно нулю.
</para>
</refsect1>
@ -41,10 +41,11 @@
<term><parameter>num2</parameter></term>
<listitem>
<para>
Правый операнд (модуль) в виде строки.
Делитель в виде строки.
</para>
</listitem>
</varlistentry>
&bc.scale.description;
</variablelist>
</para>
</refsect1>
@ -52,11 +53,30 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает остаток от деления в виде строки или &null;, если
<parameter>num2</parameter> равен <literal>0</literal>.
Функция возвращает остаток от деления в виде строки.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция выбрасывает ошибку <exceptionname>ValueError</exceptionname> в следующих случаях:
<simplelist>
<member>
Аргумент числа <parameter>num1</parameter> или <parameter>num2</parameter> оказался строкой,
которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath
</member>
<member>
Значение аргумента <parameter>scale</parameter> выходит за пределы допустимого диапазона
</member>
</simplelist>
</para>
<simpara>
Функция выбрасывает исключение <exceptionname>DivisionByZeroError</exceptionname>, если число <parameter>num2</parameter>
равно <literal>0</literal>.
</simpara>
</refsect1>
<refsect1 role="changelog"><!-- {{{ -->
&reftitle.changelog;
<informaltable>
@ -71,21 +91,27 @@
<row>
<entry>8.0.0</entry>
<entry>
<parameter>scale</parameter> теперь допускает значение null.
Параметр <parameter>scale</parameter> теперь принимает значение &null;.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Деление на 0 теперь выбрасывает исключение <exceptionname>DivisionByZeroError</exceptionname> вместо возврата &null;.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
<parameter>num1</parameter> и <parameter>num2</parameter> больше не
обрезаются до целого, так что теперь поведение <function>bcmod</function>
соответствует <function>fmod</function>, а не оператору <literal>%</literal>.
Числа <parameter>num1</parameter> и <parameter>num2</parameter> больше
не обрезаются до целого, поэтому поведение функции <function>bcmod</function> теперь
соответствует функции <function>fmod</function>, а не оператору <literal>%</literal>.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Добавлен параметр <parameter>scale</parameter>.
Добавили параметр <parameter>scale</parameter>.
</entry>
</row>
</tbody>
@ -96,26 +122,32 @@
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>bcmod</function></title>
<title>Пример получения остатка от деления функцией <function>bcmod</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcscale(0);
echo bcmod( '5', '3'); // 2
echo bcmod( '5', '-3'); // 2
echo bcmod('-5', '3'); // -2
echo bcmod('-5', '-3'); // -2
?>
]]>
</programlisting>
</example>
<example>
<title>Пример использования <function>bcmod</function> с десятичными знаками</title>
<title>Пример получения остатка от деления чисел с десятичными знаками функцией <function>bcmod</function></title>
<programlisting role="php">
<![CDATA[
<?php
bcscale(1);
echo bcmod('5.7', '1.3'); // 0.5 с PHP 7.2.0; 0 ранее
?>
]]>
</programlisting>
@ -127,6 +159,7 @@ echo bcmod('5.7', '1.3'); // 0.5 с PHP 7.2.0; 0 ранее
<para>
<simplelist>
<member><function>bcdiv</function></member>
<member><function>bcdivmod</function></member>
</simplelist>
</para>
</refsect1>

View File

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 23f5599c8cc2713e7a4fdc29d8cceab66c341c48 Maintainer: tmn Status: ready -->
<!-- EN-Revision: e333514f66ae32a3468e05dbe64f55f01ff9451e Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.bcpow" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>bcpow</refname>
<refpurpose>
Возведение в степень чисел с произвольной точностью
Возводит в степень число произвольной точности
</refpurpose>
</refnamediv>
@ -18,7 +18,7 @@
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>scale</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Возводит <parameter>num</parameter> в степень
Функция возводит число <parameter>num</parameter> в степень
<parameter>exponent</parameter>.
</para>
</refsect1>
@ -39,9 +39,9 @@
<term><parameter>exponent</parameter></term>
<listitem>
<para>
Степень в виде строки. Если степень не целое, то она обрезается до целого.
Корректные значения степени зависят от используемой платформы, но это как минимум
значения от <literal>-2147483648</literal> до <literal>2147483647</literal>.
Показатель степени без дробной части, в виде строки.
Допустимый диапазон показателя степени зависит от платформы, но лежит
по крайней мере в пределах значений <literal>-2147483648</literal> и <literal>2147483647</literal>.
</para>
</listitem>
</varlistentry>
@ -53,10 +53,33 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает результат в виде строки.
Функция возвращает результат в виде строки.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция выбрасывает ошибку <exceptionname>ValueError</exceptionname> в следующих случаях:
<simplelist>
<member>
Аргумент числа <parameter>num</parameter> или показателя степени <parameter>exponent</parameter> оказался строкой,
которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath
</member>
<member>
Значение аргумента <parameter>scale</parameter> выходит за пределы допустимого диапазона
</member>
<member>
Показатель степени <parameter>exponent</parameter> содержит дробную часть
</member>
</simplelist>
</para>
<simpara>
Функция выбрасывает исключение <exceptionname>DivisionByZeroError</exceptionname>, если число <parameter>num</parameter>
равно <literal>0</literal>, а показатель степени <parameter>exponent</parameter> содержит отрицательное значение.
</simpara>
</refsect1>
<refsect1 role="changelog"><!-- {{{ -->
&reftitle.changelog;
<informaltable>
@ -68,11 +91,25 @@
</row>
</thead>
<tbody>
<row>
<entry>8.4.0</entry>
<entry>
Раньше при возведении нуля в отрицательную степень возвращалось значение 0,
теперь выбрасывают исключение <exceptionname>DivisionByZeroError</exceptionname>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Функция теперь не усекает показатель степени, а выбрасывает исключение <exceptionname>ValueError</exceptionname>,
когда показатель степени <parameter>exponent</parameter> содержит дробную часть.
</entry>
</row>
<row>
<entry>7.3.0</entry>
<entry>
Теперь <function>bcpow</function> возвращает числа с заданной точностью.
Раньше завершающие нули в дробной части числа отбрасывались.
Функция <function>bcpow</function> теперь возвращает числа с заданной точностью.
Раньше нули в конце дробной части числа отбрасывались.
</entry>
</row>
</tbody>
@ -83,7 +120,10 @@
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>bcpow</function></title>
<title>
Пример возведения числа произвольной точности
в степень произвольной точности функцией <function>bcpow</function>
</title>
<programlisting role="php">
<![CDATA[
<?php
@ -100,17 +140,19 @@ echo bcpow('4.2', '3', 2); // 74.08
&reftitle.notes;
<note>
<para>
До PHP 7.3.0 <function>bcpow</function> могла вернуть результат с меньшим числом цифр
после десятичной точки, чем указано в аргументе
<parameter>scale</parameter>. Так происходило, только когда результату не
требуется вся точность, предоставленная в <parameter>scale</parameter>.
До PHP 7.3.0 функция <function>bcpow</function> иногда возвращала результат с меньшим количеством цифр
после десятичной точки, чем указали в аргументе <parameter>scale</parameter>.
Функция усекала дробную часть, только когда результат не требовал всей точности,
которую разрешал параметр <parameter>scale</parameter>.
Например:
<example>
<title>Пример уменьшения точности в <function>bcpow</function></title>
<title>Пример усечения точности функцией <function>bcpow</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo bcpow('5', '2', 2); // выдаст "25", вместо "25.00"
echo bcpow('5', '2', 2); // Выдаст "25", а не "25.00"
?>
]]>
</programlisting>