svn: /phpdoc/de/trunk/reference/math/functions/ floor.xml is-nan.xml mt-rand.xml mt-srand.xml rand.xml round.xml srand.xml
[email protected] (Christoph Michael Becker)
| Newsgroups | php.doc.de |
|---|---|
| Message-ID | <[email protected]> |
cmb Sun, 28 Jan 2018 22:21:04 +0000
Revision: http://svn.php.net/viewvc?view=revision&revision=344026
Log:
Sync with EN
Changed paths:
U phpdoc/de/trunk/reference/math/functions/floor.xml
U phpdoc/de/trunk/reference/math/functions/is-nan.xml
U phpdoc/de/trunk/reference/math/functions/mt-rand.xml
U phpdoc/de/trunk/reference/math/functions/mt-srand.xml
U phpdoc/de/trunk/reference/math/functions/rand.xml
U phpdoc/de/trunk/reference/math/functions/round.xml
U phpdoc/de/trunk/reference/math/functions/srand.xml
svn-diffs-344026.txt
(text/x-diff, 19.4 KB)
Modified: phpdoc/de/trunk/reference/math/functions/floor.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/floor.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/floor.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 337718 Maintainer: hholzgra Status: ready -->
+<!-- EN-Revision: 343898 Maintainer: hholzgra Status: ready -->
<refentry xml:id="function.floor" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>floor</refname>
@@ -9,7 +9,7 @@
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
- <type>mixed</type><methodname>floor</methodname>
+ <type>float</type><methodname>floor</methodname>
<methodparam><type>float</type><parameter>value</parameter></methodparam>
</methodsynopsis>
<simpara>
@@ -38,7 +38,7 @@
Liefert den abgerundeten Wert zurück. Dieser ist nach wie
vor vom Typ <type>float</type> und nicht vom Typ <type>integer</type>
wegen des größeren Wertebereichs von <type>float</type>.
- Diese Funktion gibt im Falle eines Fehlers (bspw. bei der Übergabe eines Arrays) FALSE zurück.
+ Diese Funktion gibt im Falle eines Fehlers (bspw. bei der Übergabe eines Arrays) &false; zurück.
</para>
</refsect1>
<refsect1 role="examples">
Modified: phpdoc/de/trunk/reference/math/functions/is-nan.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/is-nan.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/is-nan.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.1 -->
-<!-- EN-Revision: 297028 Maintainer: hholzgra Status: ready -->
+<!-- $Revision$ -->
+<!-- EN-Revision: 343263 Maintainer: hholzgra Status: ready -->
<refentry xml:id='function.is-nan' xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>is_nan</refname>
@@ -10,7 +10,7 @@
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>is_nan</methodname>
- <methodparam><type>float</type><parameter>val</parameter></methodparam>
+ <methodparam><type>mixed</type><parameter>val</parameter></methodparam>
</methodsynopsis>
<para>
Prüft ob der Parameter <parameter>val</parameter> keine darstellbare
Modified: phpdoc/de/trunk/reference/math/functions/mt-rand.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/mt-rand.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/mt-rand.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 335710 Maintainer: sammywg Status: ready -->
+<!-- EN-Revision: 344025 Maintainer: sammywg Status: ready -->
<refentry xml:id="function.mt-rand" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mt_rand</refname>
- <refpurpose>Erzeugt "bessere" Zufallszahlen</refpurpose>
+ <refpurpose>Erzeugt eine Zufallszahl nach dem Mersenne Twister Verfahren</refpurpose>
</refnamediv>
<refsect1 role="description">
@@ -19,14 +19,15 @@
<methodparam><type>int</type><parameter>min</parameter></methodparam>
<methodparam><type>int</type><parameter>max</parameter></methodparam>
</methodsynopsis>
+ &caution.cryptographically-insecure;
<simpara>
Viele Zufallszahlengeneratoren, die auf älteren libc-Versionen basieren, haben
seltsame oder doch zumindest unerwartete Verhaltensweisen und sind zudem recht
- langsam. Standardmäßig verwendet PHP den libc-Zufallszahlengenerator mit der
- Funktion <function>rand</function>. Die Funktion <function>mt_rand</function>
- kann jedoch als vollwertiger Ersatz verwendet werden. Sie verwendet einen
- Zufallszahlengenerator mit den bekannten Charakteristika der
- <link xlink:href="&url.mersenne;">Mersenne Twister</link>, die Zufallszahlen
+ langsam.
+ Die Funktion <function>mt_rand</function> ist ein vollwertiger Ersatz für das
+ ältere <function>rand</function>. Sie verwendet einen Zufallszahlengenerator
+ mit den bekannten Charakteristika der <link
+ xlink:href="&url.mersenne;">Mersenne Twister</link>, die Zufallszahlen
viermal schneller generiert als der durchschnittliche libc-rand()-Aufruf.
</simpara>
<simpara>
@@ -86,6 +87,35 @@
</thead>
<tbody>
<row>
+ <entry>7.2.0</entry>
+ <entry>
+ <function>mt_rand</function> <link
+ linkend="migration72.incompatible.rand-mt_rand-output">erhielt einen
+ Bugfix</link> für einen Modulus-Verzerrungsfehler. Das bedeutet, dass
+ Folgen mit einem bestimmten Startwert sich von PHP 7.1 auf 64-bit
+ Rechnern unterscheiden können.
+ </entry>
+ </row>
+ <row>
+ <entry>7.1.0</entry>
+ <entry>
+ <function>rand</function> <link
+ linkend="migration71.incompatible.rand-srand-aliases">wurde zu</link>
+ einem Alias von <function>mt_rand</function>.
+ </entry>
+ </row>
+ <row>
+ <entry>7.1.0</entry>
+ <entry>
+ <function>mt_rand</function> <link
+ linkend="migration71.incompatible.fixes-to-mt_rand-algorithm">
+ verwendet nun</link> eine korrekte Version des Mersenne Twister
+ Algorithmus. Um auf das vorherige Verhalten auszuweichen, kann
+ <function>mt_srand</function> mit <constant>MT_RAND_PHP</constant> als
+ zweitem Parameter verwendet werden.
+ </entry>
+ </row>
+ <row>
<entry>5.3.4</entry>
<entry>
Erzeugt eine <constant>E_WARNING</constant> und gibt &false; zurück,
@@ -127,18 +157,15 @@
<refsect1 role="notes">
&reftitle.notes;
- &caution.cryptographically-insecure;
- <caution>
+ <warning>
<para>
- Wenn <parameter>max</parameter> größer als <literal>2^32</literal>
- ist (auf einem 64-bit System), dann sind die Rückgabewerte von
- <function>mt_rand</function> bevorzugt gerade Zahlen, d.h. die
- Rückgabewerte sind nicht mehr strikt gleichverteilt.
- Dies kommt daher, dass, wenn <parameter>max</parameter> größer ist als der
- Wert, der von <function>mt_getrandmax</function> zurückgegeben wird, die
- Ausgabe des Zufallszahlengenerators hochskaliert werden muss.
+ Der Bereich von <parameter>min</parameter> und <parameter>max</parameter>
+ darf nicht größer sein als <function>mt_getrandmax</function>. Das heißt,
+ (<parameter>max</parameter> - <parameter>min</parameter>) <=
+ <function>mt_getrandmax</function>. Andernfalls, kann
+ <function>mt_rand</function> schlechtere Zufallszahlen liefern als es sollte.
</para>
- </caution>
+ </warning>
</refsect1>
<refsect1 role="seealso">
@@ -147,6 +174,8 @@
<simplelist>
<member><function>mt_srand</function></member>
<member><function>mt_getrandmax</function></member>
+ <member><function>random_int</function></member>
+ <member><function>random_bytes</function></member>
<member><function>openssl_random_pseudo_bytes</function></member>
<member><function>rand</function></member>
</simplelist>
Modified: phpdoc/de/trunk/reference/math/functions/mt-srand.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/mt-srand.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/mt-srand.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,19 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 334605 Maintainer: sammywg Status: ready -->
+<!-- EN-Revision: 344025 Maintainer: sammywg Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.mt-srand">
<refnamediv>
<refname>mt_srand</refname>
- <refpurpose>Setzt den besseren Zufallszahlengenerator</refpurpose>
+ <refpurpose>Initialisiert den Mersenne Twister Zufallszahlengenerator</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
- <methodsynopsis>
- <type>void</type><methodname>mt_srand</methodname>
- <methodparam choice="opt"><type>int</type><parameter>seed</parameter></methodparam>
- </methodsynopsis>
+ <methodsynopsis>
+ <type>void</type><methodname>mt_srand</methodname>
+ <methodparam choice="opt"><type>int</type><parameter>seed</parameter></methodparam>
+ <methodparam choice="opt"><type>int</type><parameter>mode</parameter><initializer>MT_RAND_MT19937</initializer></methodparam>
+ </methodsynopsis>
<para>
Setzt den Zufallszahlengenerator mit <parameter>seed</parameter> oder mit
einem Zufallswert, wenn <parameter>seed</parameter> nicht angegeben ist.
@@ -29,10 +30,46 @@
<term><parameter>seed</parameter></term>
<listitem>
<para>
- Ein optionaler seed-Wert.
+ Ein beliebiger <type>integer</type> Startwert.
</para>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term><parameter>mode</parameter></term>
+ <listitem>
+ <para>
+ Eine der folgenden Konstanten kann verwendet werden, um die
+ Implementierung des zu verwendenden Algorithmus zu bestimmen.
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Constant</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><constant>MT_RAND_MT19937</constant></entry>
+ <entry>
+ Verwendet die korrekte Mersenne Twister Implementierung, die von PHP
+ 7.1.0 an verfügbar ist.
+ </entry>
+ </row>
+ <row>
+ <entry><constant>MT_RAND_PHP</constant></entry>
+ <entry>
+ Verwendet eine inkorrekte Mersenne Twister Implementierung, die vor
+ PHP 7.1.0 standardmäßig verwendet wurde. Dieser Modus ist aus
+ Gründen der Abwärtskompatibilität verfügbar.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </listitem>
+ </varlistentry>
</variablelist>
</para>
</refsect1>
@@ -57,6 +94,25 @@
</thead>
<tbody>
<row>
+ <entry>7.1.0</entry>
+ <entry>
+ <function>srand</function> <link
+ linkend="migration71.incompatible.rand-srand-aliases">ist nun</link> ein
+ Alias von <function>mt_srand</function>.
+ </entry>
+ </row>
+ <row>
+ <entry>7.1.0</entry>
+ <entry>
+ <function>mt_rand</function> <link
+ linkend="migration71.incompatible.fixes-to-mt_rand-algorithm">
+ verwendet nun</link> eine korrekte Version des Mersenne Twister
+ Algorithmus. Um auf das vorherige Verhalten auszuweichen, kann
+ <function>mt_srand</function> mit <constant>MT_RAND_PHP</constant> als
+ zweitem Parameter verwendet werden.
+ </entry>
+ </row>
+ <row>
<entry>Seit 5.2.1</entry>
<entry>
Die Mersenne-Twister-Implementation in PHP verwendet jetzt einen
@@ -85,7 +141,7 @@
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
- return (float) $sec + ((float) $usec * 100000);
+ return $sec + $usec * 1000000;
}
mt_srand(make_seed());
$randval = mt_rand();
Modified: phpdoc/de/trunk/reference/math/functions/rand.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/rand.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/rand.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
-<!-- EN-Revision: 342442 Maintainer: nikic Status: working -->
+<!-- EN-Revision: 344025 Maintainer: nikic Status: working -->
<!-- CREDITS: hholzgra -->
<refentry xml:id="function.rand" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@@ -82,9 +82,21 @@
</thead>
<tbody>
<row>
+ <entry>7.2.0</entry>
+ <entry>
+ <function>rand</function> <link
+ linkend="migration72.incompatible.rand-mt_rand-output">erhielt einen
+ Bugfix</link> für einen Modulus-Verzerrungsfehler. Das bedeutet, dass
+ Folgen mit einem bestimmten Startwert sich von PHP 7.1 auf 64-bit
+ Rechnern unterscheiden können.
+ </entry>
+ </row>
+ <row>
<entry>7.1.0</entry>
<entry>
- <link linkend="migration71.incompatible.rand-srand-aliases"><function>rand</function> wurde zu einem Alias von <function>mt_rand</function>.</link>
+ <function>rand</function> <link
+ linkend="migration71.incompatible.rand-srand-aliases">wurde zu</link>
+ einem Alias von <function>mt_rand</function>.
</entry>
</row>
</tbody>
Modified: phpdoc/de/trunk/reference/math/functions/round.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/round.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/round.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.1 -->
-<!-- EN-Revision: 306562 Maintainer: hholzgra Status: ready -->
+<!-- $Revision$ -->
+<!-- EN-Revision: 34402 Maintainer: hholzgra Status: ready -->
<refentry xml:id="function.round" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>round</refname>
@@ -26,7 +26,7 @@
<simpara>
When rounding on exact halves <function>round</function> rounds down on
evens and up on odds. If you want to always force it in one direction
- on a .5 (or .05 in your case) add or substract a tiny fuzz factor. The
+ on a .5 (or .05 in your case) add or subtract a tiny fuzz factor. The
reason behind rounding half the values down and the other half up is to
avoid the classical banking problem where if you always rounded down
you would be stealing money from your customers, or if you always
@@ -70,10 +70,52 @@
<term><parameter>mode</parameter></term>
<listitem>
<para>
- <constant>PHP_ROUND_HALF_UP</constant>,
- <constant>PHP_ROUND_HALF_DOWN</constant>,
- <constant>PHP_ROUND_HALF_EVEN</constant> oder
- <constant>PHP_ROUND_HALF_ODD</constant>.
+ Eine der folgenden Konstanten kann verwendet werden, um den Rundungsmodus
+ festzulegen.
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>Constant</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry><constant>PHP_ROUND_HALF_UP</constant></entry>
+ <entry>
+ Rundet <parameter>val</parameter> auf
+ <parameter>precision</parameter> Dezimalstellen weg von Null.
+ Somit wird 1.5 zu 2 und -1.5 zu -2.
+ </entry>
+ </row>
+ <row>
+ <entry><constant>PHP_ROUND_HALF_DOWN</constant></entry>
+ <entry>
+ Rundet <parameter>val</parameter> auf
+ <parameter>precision</parameter> Dezimalstellen hin zu Null.
+ Somit wird 1.5 zu 1 und -1.5 zu -1.
+ </entry>
+ </row>
+ <row>
+ <entry><constant>PHP_ROUND_HALF_EVEN</constant></entry>
+ <entry>
+ Rundet <parameter>val</parameter> auf
+ <parameter>precision</parameter> Dezimalstellen zum nächsten
+ geraden Wert.
+ </entry>
+ </row>
+ <row>
+ <entry><constant>PHP_ROUND_HALF_ODD</constant></entry>
+ <entry>
+ Rundet <parameter>val</parameter> auf
+ <parameter>precision</parameter> Dezimalstellen zum nächsten
+ ungeraden Wert.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
</para>
</listitem>
</varlistentry>
@@ -126,6 +168,38 @@
]]>
</programlisting>
</example>
+ <example>
+ <title><parameter>mode</parameter> mit <parameter>precision</parameter>-Beispiele</title>
+ <programlisting role="php">
+<![CDATA[
+<?php
+/* Verwendung von PHP_ROUND_HALF_UP mit 1 Dezimalstelle Genauigkeit */
+echo round( 1.55, 1, PHP_ROUND_HALF_UP); // 1.6
+echo round( 1.54, 1, PHP_ROUND_HALF_UP); // 1.5
+echo round(-1.55, 1, PHP_ROUND_HALF_UP); // -1.6
+echo round(-1.54, 1, PHP_ROUND_HALF_UP); // -1.5
+
+/* Verwendung von PHP_ROUND_HALF_DOWN mit 1 Dezimalstelle Genauigkeit */
+echo round( 1.55, 1, PHP_ROUND_HALF_DOWN); // 1.5
+echo round( 1.54, 1, PHP_ROUND_HALF_DOWN); // 1.5
+echo round(-1.55, 1, PHP_ROUND_HALF_DOWN); // -1.5
+echo round(-1.54, 1, PHP_ROUND_HALF_DOWN); // -1.5
+
+/* Verwendung von PHP_ROUND_HALF_EVEN mit 1 Dezimalstelle Genauigkeit */
+echo round( 1.55, 1, PHP_ROUND_HALF_EVEN); // 1.6
+echo round( 1.54, 1, PHP_ROUND_HALF_EVEN); // 1.5
+echo round(-1.55, 1, PHP_ROUND_HALF_EVEN); // -1.6
+echo round(-1.54, 1, PHP_ROUND_HALF_EVEN); // -1.5
+
+/* Verwendung von PHP_ROUND_HALF_ODD mit 1 Dezimalstelle Genauigkeit */
+echo round( 1.55, 1, PHP_ROUND_HALF_ODD); // 1.5
+echo round( 1.54, 1, PHP_ROUND_HALF_ODD); // 1.5
+echo round(-1.55, 1, PHP_ROUND_HALF_ODD); // -1.5
+echo round(-1.54, 1, PHP_ROUND_HALF_ODD); // -1.5
+?>
+]]>
+ </programlisting>
+ </example>
</para>
</refsect1>
<refsect1 role="changelog">
Modified: phpdoc/de/trunk/reference/math/functions/srand.xml
===================================================================
--- phpdoc/de/trunk/reference/math/functions/srand.xml 2018-01-28 22:12:17 UTC (rev 344025)
+++ phpdoc/de/trunk/reference/math/functions/srand.xml 2018-01-28 22:21:04 UTC (rev 344026)
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- $Revision: 1.1 -->
-<!-- EN-Revision: 334605 Maintainer: hholzgra Status: ready -->
+<!-- $Revision$ -->
+<!-- EN-Revision: 344025 Maintainer: hholzgra Status: ready -->
<refentry xml:id="function.srand" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>srand</refname>
@@ -19,7 +19,12 @@
</para>
¬e.randomseed;
-
+ <note>
+ <simpara>
+ Von PHP 7.1.0 an ist <function>srand</function> ein Alias von
+ <function>mt_srand</function>.
+ </simpara>
+ </note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
@@ -29,7 +34,7 @@
<term><parameter>seed</parameter></term>
<listitem>
<para>
- Optionaler Startwert
+ Ein beliebiger <type>integer</type> Startwert.
</para>
</listitem>
</varlistentry>
@@ -44,6 +49,32 @@
</para>
</refsect1>
+ <refsect1 role="changelog">
+ &reftitle.changelog;
+ <para>
+ <informaltable>
+ <tgroup cols="2">
+ <thead>
+ <row>
+ <entry>&Version;</entry>
+ <entry>&Description;</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>7.1.0</entry>
+ <entry>
+ <function>srand</function> <link
+ linkend="migration71.incompatible.rand-srand-aliases">ist nun</link> ein
+ Alias von <function>mt_srand</function>.
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </para>
+ </refsect1>
+
<refsect1 role="examples">
&reftitle.examples;
<para>
@@ -56,7 +87,7 @@
function make_seed()
{
list($usec, $sec) = explode(' ', microtime());
- return (float) $sec + ((float) $usec * 100000);
+ return $sec + $usec * 1000000;
}
srand(make_seed());
$randval = rand();