Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
GI.GLib.Structs.Rand
Description
The GRand struct is an opaque data structure. It should only be accessed through the g_rand_* functions.
Synopsis
- newtype Rand = Rand (ManagedPtr Rand)
- randCopy :: (HasCallStack, MonadIO m) => Rand -> m Rand
- randDouble :: (HasCallStack, MonadIO m) => Rand -> m Double
- randDoubleRange :: (HasCallStack, MonadIO m) => Rand -> Double -> Double -> m Double
- randFree :: (HasCallStack, MonadIO m) => Rand -> m ()
- randInt :: (HasCallStack, MonadIO m) => Rand -> m Word32
- randIntRange :: (HasCallStack, MonadIO m) => Rand -> Int32 -> Int32 -> m Int32
- randNew :: (HasCallStack, MonadIO m) => m Rand
- randNewWithSeed :: (HasCallStack, MonadIO m) => Word32 -> m Rand
- randNewWithSeedArray :: (HasCallStack, MonadIO m) => Word32 -> Word32 -> m Rand
- randSetSeed :: (HasCallStack, MonadIO m) => Rand -> Word32 -> m ()
- randSetSeedArray :: (HasCallStack, MonadIO m) => Rand -> Word32 -> Word32 -> m ()
Exported types
Memory-managed wrapper type.
Instances
Eq Rand Source # | |
GBoxed Rand Source # | |
Defined in GI.GLib.Structs.Rand | |
ManagedPtrNewtype Rand Source # | |
Defined in GI.GLib.Structs.Rand Methods toManagedPtr :: Rand -> ManagedPtr Rand | |
TypedObject Rand Source # | |
Defined in GI.GLib.Structs.Rand | |
HasParentTypes Rand Source # | |
Defined in GI.GLib.Structs.Rand | |
IsGValue (Maybe Rand) Source # | Convert |
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 # | |
Defined in GI.GLib.Structs.Rand |
Methods
Click to display all available methods, including inherited ones
copy
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
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> m Double | Returns: a random number |
Returns the next random gdouble
from rand_
equally distributed over
the range [0..1).
doubleRange
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> Double |
|
-> Double |
|
-> m Double | Returns: a random number |
Returns the next random gdouble
from rand_
equally distributed over
the range [begin
..end
).
free
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> m () |
Frees the memory allocated for the Rand
.
int
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> m Word32 | Returns: a random number |
Returns the next random guint32
from rand_
equally distributed over
the range [0..2^32-1].
intRange
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> Int32 |
|
-> Int32 |
|
-> m Int32 | Returns: a random number |
Returns the next random gint32
from rand_
equally distributed over
the range [begin
..end
-1].
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> m Rand | Returns: the new |
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
Arguments
:: (HasCallStack, MonadIO m) | |
=> Word32 |
|
-> m Rand | Returns: the new |
Creates a new random number generator initialized with seed
.
newWithSeedArray
Arguments
:: (HasCallStack, MonadIO m) | |
=> Word32 |
|
-> Word32 |
|
-> m Rand | Returns: the new |
Creates a new random number generator initialized with seed
.
Since: 2.4
setSeed
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> Word32 |
|
-> m () |
Sets the seed for the random number generator Rand
to seed
.
setSeedArray
Arguments
:: (HasCallStack, MonadIO m) | |
=> Rand |
|
-> Word32 |
|
-> Word32 |
|
-> 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