class
Random::PCG32
Overview
pcg32_random_r: - result: 32-bit unsigned int (uint32_t) - period: 2^64 (* 2^63 streams) - state type: pcg32_random_t (16 bytes) - output func: XSH-RR
Included Modules
Defined in:
random/pcg32.crConstant Summary
-
PCG_DEFAULT_MULTIPLIER_64 =
6364136223846793005_u64
Constructors
Instance Method Summary
- #jump(delta)
- #new_seed(initstate : UInt64, initseq = 0_u64) : UInt32
-
#new_seed : UInt32
Reseed the generator.
-
#next_u : UInt32
Generates a random unsigned integer.
-
#split_internal(other : self) : Nil
The internal implementation for
#splitwhere self is the original instance and other the duplicated instance to be returned.
Instance methods inherited from module Random
base64(n : Int = 16) : String
base64,
hex(n : Int = 16) : String
hex,
new_seed
new_seed,
next_bool : Bool
next_bool,
next_float : Float64
next_float,
next_int : Int32
next_int,
next_u
next_u,
rand(max : Int) : Intrand(max : Float64) : Float64
rand(max : Float32) : Float32
rand(range : Range(Int, Int)) : Int
rand(range : Range(Float, Float)) : Float
rand(type : StaticArray(Int8, _).class)
rand(type : StaticArray(UInt8, _).class)
rand(type : StaticArray(Int16, _).class)
rand(type : StaticArray(UInt16, _).class)
rand(type : StaticArray(Int32, _).class)
rand(type : StaticArray(UInt32, _).class)
rand(type : StaticArray(Int64, _).class)
rand(type : StaticArray(UInt64, _).class)
rand(type : StaticArray(Int128, _).class)
rand(type : StaticArray(UInt128, _).class)
rand(type : Int8.class) : Int8
rand(type : UInt8.class) : UInt8
rand(type : Int16.class) : Int16
rand(type : UInt16.class) : UInt16
rand(type : Int32.class) : Int32
rand(type : UInt32.class) : UInt32
rand(type : Int64.class) : Int64
rand(type : UInt64.class) : UInt64
rand(type : Int128.class) : Int128
rand(type : UInt128.class) : UInt128
rand : Float64 rand, random_bytes(n : Int = 16) : Bytes
random_bytes(buf : Bytes) : Nil random_bytes, split : self split, split_internal(other : self) : Nil split_internal, urlsafe_base64(n : Int = 16, padding = false) : String urlsafe_base64
Constructor methods inherited from module Random
new(seed, sequence = 0_u64)new new
Class methods inherited from module Random
next_bool : Bool
next_bool,
next_int : Int32
next_int,
rand(x)rand : Float64 rand
Instance methods inherited from class Reference
==(other : self)==(other : JSON::Any)
==(other : YAML::Any)
==(other) ==, dup dup, hash(hasher) hash, initialize initialize, inspect(io : IO) : Nil inspect, object_id : UInt64 object_id, pretty_print(pp) : Nil pretty_print, same?(other : Reference) : Bool
same?(other : Nil) same?, to_s(io : IO) : Nil to_s
Constructor methods inherited from class Reference
new
new,
unsafe_construct(address : Pointer, *args, **opts) : self
unsafe_construct
Class methods inherited from class Reference
pre_initialize(address : Pointer)
pre_initialize
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil!(message)
not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io : String | IO, root : String)from_json(string_or_io : String | IO) from_json, from_yaml(string_or_io : String | IO) from_yaml
Macros inherited from class Object
class_getter(*names, &block)
class_getter,
class_getter!(*names)
class_getter!,
class_getter?(*names, &block)
class_getter?,
class_property(*names, &block)
class_property,
class_property!(*names)
class_property!,
class_property?(*names, &block)
class_property?,
class_setter(*names)
class_setter,
def_clone
def_clone,
def_equals(*fields)
def_equals,
def_equals_and_hash(*fields)
def_equals_and_hash,
def_hash(*fields)
def_hash,
delegate(*methods, to object)
delegate,
forward_missing_to(delegate)
forward_missing_to,
getter(*names, &block)
getter,
getter!(*names)
getter!,
getter?(*names, &block)
getter?,
property(*names, &block)
property,
property!(*names)
property!,
property?(*names, &block)
property?,
setter(*names)
setter
Constructor Detail
Instance Method Detail
Generates a random unsigned integer.
The integers must be uniformly distributed between 0 and
the maximal value for the chosen type.
The internal implementation for #split where self is the original
instance and other the duplicated instance to be returned.
The default Random implementation in stdlib is splittable, but not every
PRNG algorithm is splittable, so the method raises a NotImplementedError
exception by default.