Replace Math.random with crypto.getRandomValues for _system_number

This commit is contained in:
Damian Tarnawski
2023-10-27 12:06:35 +02:00
parent 8b2f62000a
commit 49da19e013
3 changed files with 6 additions and 5 deletions
+5 -3
View File
@@ -2,11 +2,13 @@ package rand
foreign import "odin_env"
foreign odin_env {
@(link_name = "rand")
rand_f64 :: proc "contextless" () -> f64 ---
@(link_name = "rand_bytes")
env_rand_bytes :: proc "contextless" (buf: []byte) ---
}
@(require_results)
_system_random :: proc() -> u64 {
return u64(rand_f64() * 0x1fffffffffffff)
buf: [8]u8
env_rand_bytes(buf[:])
return transmute(u64)buf
}