gi-glib-2.0.30: GLib bindings
CopyrightWill Thompson and Iñaki García Etxebarria
LicenseLGPL-2.1
MaintainerIñaki García Etxebarria
Safe HaskellSafe-Inferred
LanguageHaskell2010

GI.GLib.Structs.Rand

Description

The GRand struct is an opaque data structure. It should only be accessed through the g_rand_* functions.

Synopsis

Exported types

newtype Rand Source #

Memory-managed wrapper type.

Constructors

Rand (ManagedPtr Rand) 

Instances

Instances details
Eq Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

Methods

(==) :: Rand -> Rand -> Bool #

(/=) :: Rand -> Rand -> Bool #

GBoxed Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

ManagedPtrNewtype Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

Methods

toManagedPtr :: Rand -> ManagedPtr Rand

TypedObject Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

Methods

glibType :: IO GType

HasParentTypes Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

IsGValue (Maybe Rand) Source #

Convert Rand to and from GValue. See toGValue and fromGValue.

Instance details

Defined in GI.GLib.Structs.Rand

Methods

gvalueGType_ :: IO GType

gvalueSet_ :: Ptr GValue -> Maybe Rand -> IO ()

gvalueGet_ :: Ptr GValue -> IO (Maybe Rand)

type ParentTypes Rand Source # 
Instance details

Defined in GI.GLib.Structs.Rand

type ParentTypes Rand = '[] :: [Type]

Methods

Click to display all available methods, including inherited ones

Expand

Methods

copy, double, doubleRange, free, int, intRange.

Getters

None.

Setters

setSeed, setSeedArray.

copy

randCopy Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> m Rand

Returns: the new Rand

Copies a Rand into a new one with the same exact state as before. This way you can take a snapshot of the random number generator for replaying later.

Since: 2.4

double

randDouble Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> m Double

Returns: a random number

Returns the next random gdouble from rand_ equally distributed over the range [0..1).

doubleRange

randDoubleRange Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> Double

begin: lower closed bound of the interval

-> Double

end: upper open bound of the interval

-> m Double

Returns: a random number

Returns the next random gdouble from rand_ equally distributed over the range [begin..end).

free

randFree Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> m () 

Frees the memory allocated for the Rand.

int

randInt Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> m Word32

Returns: a random number

Returns the next random guint32 from rand_ equally distributed over the range [0..2^32-1].

intRange

randIntRange Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> Int32

begin: lower closed bound of the interval

-> Int32

end: upper open bound of the interval

-> m Int32

Returns: a random number

Returns the next random gint32 from rand_ equally distributed over the range [begin..end-1].

new

randNew Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> m Rand

Returns: the new Rand

Creates a new random number generator initialized with a seed taken either from /dev/urandom (if existing) or from the current time (as a fallback).

On Windows, the seed is taken from rand_s().

newWithSeed

randNewWithSeed Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Word32

seed: a value to initialize the random number generator

-> m Rand

Returns: the new Rand

Creates a new random number generator initialized with seed.

newWithSeedArray

randNewWithSeedArray Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Word32

seed: an array of seeds to initialize the random number generator

-> Word32

seedLength: an array of seeds to initialize the random number generator

-> m Rand

Returns: the new Rand

Creates a new random number generator initialized with seed.

Since: 2.4

setSeed

randSetSeed Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> Word32

seed: a value to reinitialize the random number generator

-> m () 

Sets the seed for the random number generator Rand to seed.

setSeedArray

randSetSeedArray Source #

Arguments

:: (HasCallStack, MonadIO m) 
=> Rand

rand_: a Rand

-> Word32

seed: array to initialize with

-> Word32

seedLength: length of array

-> m () 

Initializes the random number generator by an array of longs. Array can be of arbitrary size, though only the first 624 values are taken. This function is useful if you have many low entropy seeds, or if you require more then 32 bits of actual entropy for your application.

Since: 2.4