Skip to content

Commit

Permalink
Update math
Browse files Browse the repository at this point in the history
  • Loading branch information
mowangjuanzi committed Oct 15, 2023
1 parent ec28428 commit 9abdec3
Show file tree
Hide file tree
Showing 24 changed files with 136 additions and 48 deletions.
2 changes: 1 addition & 1 deletion reference/math/functions/abs.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
&reftitle.examples;
<para>
<example>
<title><function>abs</function> 例子</title>
<title><function>abs</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/base-convert.xml
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@
&reftitle.examples;
<para>
<example>
<title><function>base_convert</function> 例子</title>
<title><function>base_convert</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/bindec.xml
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,7 @@
&reftitle.examples;
<para>
<example>
<title><function>bindec</function> 例子</title>
<title><function>bindec</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/ceil.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
&reftitle.examples;
<para>
<example>
<title><function>ceil</function> 例子</title>
<title><function>ceil</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/cos.xml
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
&reftitle.examples;
<para>
<example>
<title><function>cos</function> 例子</title>
<title><function>cos</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
4 changes: 2 additions & 2 deletions reference/math/functions/dechex.xml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
&reftitle.examples;
<para>
<example>
<title><function>dechex</function> 例子</title>
<title><function>dechex</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand All @@ -72,7 +72,7 @@ a
</para>
<para>
<example>
<title>大整数的 <function>dechex</function> 例子</title>
<title>大整数的 <function>dechex</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/deg2rad.xml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
&reftitle.examples;
<para>
<example>
<title><function>deg2rad</function> 例子</title>
<title><function>deg2rad</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/exp.xml
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
&reftitle.examples;
<para>
<example>
<title><function>exp</function> 例子</title>
<title><function>exp</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/floor.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
&reftitle.examples;
<para>
<example>
<title><function>floor</function> 例子</title>
<title><function>floor</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/hexdec.xml
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@
&reftitle.examples;
<para>
<example>
<title><function>hexdec</function> 例子</title>
<title><function>hexdec</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/intdiv.xml
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@
&reftitle.examples;
<para>
<example>
<title><function>intdiv</function> 的一些例子</title>
<title><function>intdiv</function> 的一些示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
53 changes: 47 additions & 6 deletions reference/math/functions/is-finite.xml
Original file line number Diff line number Diff line change
@@ -1,22 +1,27 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: dallas Status: ready -->
<!-- EN-Revision: 445fda70c6876c3e903f5ba302248e50fd43cdf6 Maintainer: dallas Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.is-finite" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>is_finite</refname>
<refpurpose>判断是否为有限值</refpurpose>
<refpurpose>判断浮点数是否是有效的有限值</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>is_finite</methodname>
<methodparam><type>float</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<para>
检查 <parameter>num</parameter> 是否是是本机平台上浮点数所允许范围中的一个合法的有限值。
返回指定的 <parameter>num</parameter> 是否是有限浮点数。
</para>
<para>
有限浮点数既不是 <literal>NAN</literal>(<function>is_nan</function>)也不是无限的(<function>is_infinite</function>)。
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<para>
Expand All @@ -25,20 +30,56 @@
<term><parameter>num</parameter></term>
<listitem>
<para>
要检查的值
要检查的 &float;
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果 <parameter>num</parameter> 是本机平台上 PHP
浮点数所允许范围中的一个合法的有限值,则返回 &true;
如果 <parameter>num</parameter> 不是 <literal>NAN</literal>、<literal>INF</literal>
或 <literal>-INF</literal>,那么为 &true;,否则为 &false;
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>is_finite</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$float = 1.2345;
var_dump($float, is_finite($float));
$nan = sqrt(-1);
var_dump($nan, is_finite($nan));
$inf = 1e308 * 2;
var_dump($inf, is_finite($inf));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
float(1.2345)
bool(true)
float(NAN)
bool(false)
float(INF)
bool(false)
]]>
</screen>
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
Expand Down
49 changes: 42 additions & 7 deletions reference/math/functions/is-infinite.xml
Original file line number Diff line number Diff line change
@@ -1,24 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: dallas Status: ready -->
<!-- EN-Revision: 445fda70c6876c3e903f5ba302248e50fd43cdf6 Maintainer: dallas Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.is-infinite" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>is_infinite</refname>
<refpurpose>判断是否为无限值</refpurpose>
<refpurpose>判断浮点数是否为无限值</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>is_infinite</methodname>
<methodparam><type>float</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<para>
如果 <parameter>num</parameter>
为无穷大(正的或负的),例如 <literal>log(0)</literal>
的结果或者任何超出本平台的浮点数范围的值,则返回 &true;
返回指定的 <parameter>num</parameter> 是否是 <literal>INF</literal>
或 <literal>-INF</literal>。
</para>
</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<para>
Expand All @@ -27,19 +28,53 @@
<term><parameter>num</parameter></term>
<listitem>
<para>
要检查的值
要检查的 &float;
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果 <parameter>num</parameter> 为无穷大返回 &true;,否则返回 &false;
如果 <parameter>num</parameter> 是 <literal>INF</literal>
或 <literal>-INF</literal>,返回 &true;,否则返回 &false;
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>is_infinite</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
$inf = 1e308 * 2;
var_dump($inf, is_infinite($inf));
$negative_inf = -$inf;
var_dump($negative_inf, is_infinite($negative_inf));
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
float(INF)
bool(true)
float(-INF)
bool(true)
]]>
</screen>
</example>
</para>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<para>
Expand Down
33 changes: 23 additions & 10 deletions reference/math/functions/is-nan.xml
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 0c9c2dd669fe9395eaa73d487fbd160f9057429a Maintainer: dallas Status: ready -->
<!-- EN-Revision: 445fda70c6876c3e903f5ba302248e50fd43cdf6 Maintainer: dallas Status: ready -->
<!-- CREDITS: mowangjuanzi -->
<refentry xml:id="function.is-nan" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>is_nan</refname>
<refpurpose>判断是否为合法数值</refpurpose>
<refpurpose>判断浮点数是否是否为 NAN</refpurpose>
</refnamediv>

<refsect1 role="description">
Expand All @@ -15,9 +15,24 @@
<methodparam><type>float</type><parameter>num</parameter></methodparam>
</methodsynopsis>
<para>
如果 <parameter>num</parameter> 为“非数值”,例如
<literal>acos(1.01)</literal> 的结果,则返回 &true;
返回指定的 <parameter>num</parameter> 是否是 <literal>NAN</literal>(<quote>非数值</quote>)。
</para>
<para>
<literal>NAN</literal> 是从未定义的数学运算中返回的,例如传递的参数在函数的输入域之外的时候。平方根(<function>sqrt</function>)仅对正数定义,传递负数将导致
<literal>NAN</literal>。返回 <literal>NAN</literal> 的其它操作示例有 <literal>INF</literal> 除以 <literal>INF</literal>
以及涉及现有 <literal>NAN</literal> 值的任何操作。
</para>
<note>
<para>
尽管名字叫 <quote>Not A Number</quote>,但 <literal>NAN</literal> 是有效的 &float; 类型。
</para>
</note>
<caution>
<para>
<literal>NAN</literal> 不能与 <literal>NAN</literal> 进行比较。要检测浮点数是否是 <literal>NAN</literal>,必须使用
<function>is_nan</function>。使用 <code>$float === NAN</code> 检测将不起作用。
</para>
</caution>
</refsect1>

<refsect1 role="parameters">
Expand All @@ -28,7 +43,7 @@
<term><parameter>num</parameter></term>
<listitem>
<para>
要检查的值
要检查的 &float;
</para>
</listitem>
</varlistentry>
Expand All @@ -39,21 +54,19 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
如果 <parameter>num</parameter>“不是数字”返回 &true;,否则返回 &false;
如果 <parameter>num</parameter> 是 <literal>NAN</literal>,返回 &true;,否则返回 &false;
</para>
</refsect1>

<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>is_nan</function> 例子</title>
<title><function>is_nan</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
// 无效计算,将返回
// NaN 值
$nan = acos(8);
$nan = sqrt(-1);
var_dump($nan, is_nan($nan));
?>
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/max.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
&reftitle.examples;
<para>
<example>
<title>使用 <function>max</function> 的例子</title>
<title>使用 <function>max</function> 的示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/min.xml
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@
&reftitle.examples;
<para>
<example>
<title><function>min</function> 用法的例子</title>
<title><function>min</function> 用法的示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/octdec.xml
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@
&reftitle.examples;
<para>
<example>
<title><function>octdec</function> 例子</title>
<title><function>octdec</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
2 changes: 1 addition & 1 deletion reference/math/functions/pi.xml
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
&reftitle.examples;
<para>
<example>
<title><function>pi</function> 例子</title>
<title><function>pi</function> 示例</title>
<programlisting role="php">
<![CDATA[
<?php
Expand Down
Loading

0 comments on commit 9abdec3

Please sign in to comment.