Struct RandomEngine

Source
pub struct RandomEngine { /* private fields */ }
Expand description

Random number generator engine

This is a wrapper for ArrayFire’s native random number generator engine.

§Sharing Across Threads

While sharing this object with other threads, there is no need to wrap this in an Arc object unless only one such object is required to exist. The reason being that ArrayFire’s internal details that are pointed to by the RandoMEngine handle are appropriately reference counted in thread safe manner. However, if you need to modify RandomEngine object, then please do wrap the object using a Mutex or Read-Write lock.

Implementations§

Source§

impl RandomEngine

Source

pub fn new(rengine: RandomEngineType, seed: Option<u64>) -> Self

Create a new random engine object

§Parameters
§Return Values

A object of type RandomEngine

Source

pub fn get_type(&self) -> RandomEngineType

Get random engine type

Source

pub fn set_type(&mut self, engine_type: RandomEngineType)

Get random engine type

Source

pub fn set_seed(&mut self, seed: u64)

Set seed for random engine

Source

pub fn get_seed(&self) -> u64

Get seed of the random engine

Source

pub unsafe fn get(&self) -> af_random_engine

Returns the native FFI handle for Rust object RandomEngine

Trait Implementations§

Source§

impl Clone for RandomEngine

Increment reference count of RandomEngine’s native resource

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Drop for RandomEngine

Free RandomEngine’s native resource

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<*mut c_void> for RandomEngine

Used for creating RandomEngine object from native resource id

Source§

fn from(t: af_random_engine) -> Self

Converts to this type from the input type.
Source§

impl Send for RandomEngine

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.