Improve RandomNumberGenerator docs.
Clarified behavior of a few methods. Added implementation notes so
that developers not familiar with RNGs are alerted to common pitfalls.
(cherry picked from commit ae1393acae
)
This commit is contained in:
parent
a033640276
commit
8d87f624eb
|
@ -1,9 +1,10 @@
|
||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
<class name="RandomNumberGenerator" inherits="Reference" category="Core" version="3.1">
|
<class name="RandomNumberGenerator" inherits="Reference" category="Core" version="3.1">
|
||||||
<brief_description>
|
<brief_description>
|
||||||
A class for generation pseudo-random numbers.
|
A class for generating pseudo-random numbers.
|
||||||
</brief_description>
|
</brief_description>
|
||||||
<description>
|
<description>
|
||||||
|
RandomNumberGenerator is a class for generating pseudo-random numbers. It currently uses PCG32. The underlying algorithm is an implementation detail. As a result, it should not be depended upon for reproducible random streams across Godot versions.
|
||||||
</description>
|
</description>
|
||||||
<tutorials>
|
<tutorials>
|
||||||
</tutorials>
|
</tutorials>
|
||||||
|
@ -14,7 +15,7 @@
|
||||||
<return type="float">
|
<return type="float">
|
||||||
</return>
|
</return>
|
||||||
<description>
|
<description>
|
||||||
Generates pseudo-random float between '0.0' and '1.0'.
|
Generates pseudo-random float between '0.0' and '1.0', inclusive.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="randf_range">
|
<method name="randf_range">
|
||||||
|
@ -25,14 +26,14 @@
|
||||||
<argument index="1" name="to" type="float">
|
<argument index="1" name="to" type="float">
|
||||||
</argument>
|
</argument>
|
||||||
<description>
|
<description>
|
||||||
Generates pseudo-random float between [code]from[/code] and [code]to[/code].
|
Generates pseudo-random float between [code]from[/code] and [code]to[/code], inclusive.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="randi">
|
<method name="randi">
|
||||||
<return type="int">
|
<return type="int">
|
||||||
</return>
|
</return>
|
||||||
<description>
|
<description>
|
||||||
Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295'.
|
Generates pseudo-random 32-bit unsigned integer between '0' and '4294967295', inclusive.
|
||||||
</description>
|
</description>
|
||||||
</method>
|
</method>
|
||||||
<method name="randi_range">
|
<method name="randi_range">
|
||||||
|
@ -57,6 +58,7 @@
|
||||||
<members>
|
<members>
|
||||||
<member name="seed" type="int" setter="set_seed" getter="get_seed">
|
<member name="seed" type="int" setter="set_seed" getter="get_seed">
|
||||||
The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
|
The seed used by the random number generator. A given seed will give a reproducible sequence of pseudo-random numbers.
|
||||||
|
[b]Note:[/b] The RNG does not have an avalanche effect, and can output similar random streams given similar seeds. Consider using a hash function to improve your seed quality if they're sourced externally.
|
||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
<constants>
|
<constants>
|
||||||
|
|
Loading…
Reference in New Issue