Idris2Doc : System.Random.Pure

System.Random.Pure

(source)

Definitions

interfaceRandomGen : Type->Type
  Interface of algorithms of pseudo-random generation of `Bits64` values using a seed type `g`.

Those `Bits64` values must be generated uniformly.
Splitting must give independent seeds.

Parameters: g
Methods:
next : g-> (g, Bits64)
split : g-> (g, g)
variant : Nat->g->g

Implementation: 
RandomGenStdGen
next : RandomGeng=>g-> (g, Bits64)
Totality: total
Visibility: public export
split : RandomGeng=>g-> (g, g)
Totality: total
Visibility: public export
variant : RandomGeng=>Nat->g->g
Totality: total
Visibility: public export
splitStream : RandomGeng=>g->Streamg
  Stream of independent seeds

Totality: total
Visibility: public export
interfaceCanInitSeed : Type-> (Type->Type) ->Type
  Interface for getting the starting seed

Parameters: g, m
Constraints: RandomGen g
Methods:
initSeed : mg
initSeed : CanInitSeedgm=>mg
Totality: total
Visibility: public export
ConstSeed : Applicativem=>RandomGeng=>g->CanInitSeedgm
Totality: total
Visibility: export
theSplitStream : CanInitSeedgm=>Functorm=>m (Streamg)
  Stream of independent seeds in the current context of `CanInitSeed`

Totality: total
Visibility: public export
interfaceRandom : Type->Type
  Interface for generation of values of particular types using any appropriate `RandomGen` algorithm.

Contains a function for generation of uniform value sitting in the given range,
and a function for generation of any value of the type.
For inifinite types, when no range is given, implementation determines actual used range by itself.

Parameters: a
Methods:
randomR : RandomGeng=> (a, a) ->g-> (g, a)
random : RandomGeng=>g-> (g, a)

Implementations:
RandomBits64
RandomInt64
RandomBits32
RandomInt32
RandomBits16
RandomInt16
RandomBits8
RandomInt8
RandomInt
RandomInteger
RandomNat
RandomDouble
Random ()
Random (Fin (Sn))
RandomBool
RandomChar
randomR : Randoma=>RandomGeng=> (a, a) ->g-> (g, a)
Totality: total
Visibility: public export
random : Randoma=>RandomGeng=>g-> (g, a)
Totality: total
Visibility: public export
randomFor : RandomGeng=> (0a : Type) ->Randoma=>g-> (g, a)
Totality: total
Visibility: public export
randomR' : Randoma=>RandomGeng=>MonadStategm=> (a, a) ->ma
Totality: total
Visibility: export
random' : Randoma=>RandomGeng=>MonadStategm=>ma
Totality: total
Visibility: export
randomFor' : RandomGeng=>MonadStategm=> (0a : Type) ->Randoma=>ma
Totality: total
Visibility: public export
randomThru : (0thru : Type) ->Randomthru=> (thru->a) -> (a->thru) ->Randoma
Totality: total
Visibility: export
RandomInt64 : RandomInt64
Totality: total
Visibility: export
RandomBits32 : RandomBits32
Totality: total
Visibility: export
RandomInt32 : RandomInt32
Totality: total
Visibility: export
RandomBits16 : RandomBits16
Totality: total
Visibility: export
RandomInt16 : RandomInt16
Totality: total
Visibility: export
RandomBits8 : RandomBits8
Totality: total
Visibility: export
RandomInt8 : RandomInt8
Totality: total
Visibility: export
RandomInt : RandomInt
Totality: total
Visibility: export
RandomNat : RandomNat
Totality: total
Visibility: export
RandomBool : RandomBool
Totality: total
Visibility: export