mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-05 15:18:49 +00:00
remove private _random_u64 and move it's functionality into public uint64
This commit is contained in:
@@ -56,13 +56,6 @@ query_info :: proc(gen := context.random_generator) -> Generator_Query_Info {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@(private)
|
|
||||||
_random_u64 :: proc(gen := context.random_generator) -> (res: u64) {
|
|
||||||
ok := runtime.random_generator_read_ptr(gen, &res, size_of(res))
|
|
||||||
assert(ok, "uninitialized gen/context.random_generator")
|
|
||||||
return
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Generates a random 32 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
Generates a random 32 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
||||||
|
|
||||||
@@ -84,7 +77,7 @@ Possible Output:
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
@(require_results)
|
@(require_results)
|
||||||
uint32 :: proc(gen := context.random_generator) -> (val: u32) { return u32(_random_u64(gen)) }
|
uint32 :: proc(gen := context.random_generator) -> (val: u32) {return u32(uint64(gen))}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Generates a random 64 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
Generates a random 64 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
||||||
@@ -107,7 +100,11 @@ Possible Output:
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
@(require_results)
|
@(require_results)
|
||||||
uint64 :: proc(gen := context.random_generator) -> (val: u64) { return _random_u64(gen) }
|
uint64 :: proc(gen := context.random_generator) -> (val: u64) {
|
||||||
|
ok := runtime.random_generator_read_ptr(gen, &val, size_of(val))
|
||||||
|
assert(ok, "uninitialized gen/context.random_generator")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Generates a random 128 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
Generates a random 128 bit value using the provided random number generator. If no generator is provided the global random number generator will be used.
|
||||||
@@ -131,8 +128,8 @@ Possible Output:
|
|||||||
*/
|
*/
|
||||||
@(require_results)
|
@(require_results)
|
||||||
uint128 :: proc(gen := context.random_generator) -> (val: u128) {
|
uint128 :: proc(gen := context.random_generator) -> (val: u128) {
|
||||||
a := u128(_random_u64(gen))
|
a := u128(uint64(gen))
|
||||||
b := u128(_random_u64(gen))
|
b := u128(uint64(gen))
|
||||||
return (a<<64) | b
|
return (a<<64) | b
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user