[−][src]Struct gdnative::api::RandomNumberGenerator
core class RandomNumberGenerator
inherits Reference
(reference counted).
Official documentation
See the documentation of this class in the Godot engine's official documentation.
Memory management
The lifetime of this object is automatically managed through reference counting.
Class hierarchy
RandomNumberGenerator inherits methods from:
Safety
All types in the Godot API have "interior mutability" in Rust parlance.
To enforce that the official thread-safety guidelines are
followed, the typestate pattern is used in the Ref
and TRef
smart pointers,
and the Instance
API. The typestate Access
in these types tracks whether the
access is unique, shared, or exclusive to the current thread. For more information,
see the type-level documentation on Ref
.
Implementations
impl RandomNumberGenerator
[src]
pub fn new() -> Ref<RandomNumberGenerator, Unique>
[src]
Creates a new instance of this object.
This is a reference-counted type. The returned object is automatically managed
by Ref
.
pub fn seed(&self) -> i64
[src]
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.
pub fn randf(&self) -> f64
[src]
Generates a pseudo-random float between [code]0.0[/code] and [code]1.0[/code] (inclusive).
pub fn randf_range(&self, from: f64, to: f64) -> f64
[src]
Generates a pseudo-random float between [code]from[/code] and [code]to[/code] (inclusive).
pub fn randfn(&self, mean: f64, deviation: f64) -> f64
[src]
Generates a [url=https://en.wikipedia.org/wiki/Normal_distribution]normally-distributed[/url] pseudo-random number, using Box-Muller transform with the specified [code]mean[/code] and a standard [code]deviation[/code]. This is also called Gaussian distribution.
Default Arguments
mean
-0.0
deviation
-1.0
pub fn randi(&self) -> i64
[src]
Generates a pseudo-random 32-bit unsigned integer between [code]0[/code] and [code]4294967295[/code] (inclusive).
pub fn randi_range(&self, from: i64, to: i64) -> i64
[src]
Generates a pseudo-random 32-bit signed integer between [code]from[/code] and [code]to[/code] (inclusive).
pub fn randomize(&self)
[src]
Setups a time-based seed to generator.
pub fn set_seed(&self, seed: i64)
[src]
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.
Methods from Deref<Target = Reference>
pub fn init_ref(&self) -> bool
[src]
Initializes the internal reference counter. Use this only if you really know what you are doing.
Returns whether the initialization was successful.
Trait Implementations
impl Debug for RandomNumberGenerator
[src]
impl Deref for RandomNumberGenerator
[src]
impl DerefMut for RandomNumberGenerator
[src]
impl GodotObject for RandomNumberGenerator
[src]
type RefKind = RefCounted
The memory management kind of this type. This modifies the behavior of the
Ref
smart pointer. See its type-level documentation for more
information. Read more
fn class_name() -> &'static str
[src]
fn null() -> Null<Self>
[src]
fn new() -> Ref<Self, Unique> where
Self: Instanciable,
[src]
Self: Instanciable,
fn cast<T>(&self) -> Option<&T> where
T: GodotObject + SubClass<Self>,
[src]
T: GodotObject + SubClass<Self>,
fn upcast<T>(&self) -> &T where
Self: SubClass<T>,
T: GodotObject,
[src]
Self: SubClass<T>,
T: GodotObject,
unsafe fn assume_shared(&self) -> Ref<Self, Shared>
[src]
unsafe fn assume_thread_local(&self) -> Ref<Self, ThreadLocal> where
Self: GodotObject<RefKind = RefCounted>,
[src]
Self: GodotObject<RefKind = RefCounted>,
unsafe fn assume_unique(&self) -> Ref<Self, Unique>
[src]
impl Instanciable for RandomNumberGenerator
[src]
fn construct() -> Ref<RandomNumberGenerator, Unique>
[src]
impl SubClass<Object> for RandomNumberGenerator
[src]
impl SubClass<Reference> for RandomNumberGenerator
[src]
Auto Trait Implementations
impl RefUnwindSafe for RandomNumberGenerator
impl !Send for RandomNumberGenerator
impl !Sync for RandomNumberGenerator
impl Unpin for RandomNumberGenerator
impl UnwindSafe for RandomNumberGenerator
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> SubClass<T> for T where
T: GodotObject,
[src]
T: GodotObject,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,