Update core:math/rand to use context.random_generator and remove rand.Rand

This commit is contained in:
gingerBill
2024-06-15 15:33:24 +01:00
parent 318d5e4a7e
commit 7ec17ecf98
8 changed files with 197 additions and 387 deletions
+41 -21
View File
@@ -17,9 +17,10 @@ map_insert_random_key_value :: proc(t: ^testing.T) {
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
if k not_in m {
unique_keys += 1
@@ -37,11 +38,12 @@ map_insert_random_key_value :: proc(t: ^testing.T) {
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
num_fails := 0
for _ in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
cond := m[k] == v
if !cond {
@@ -67,9 +69,11 @@ map_update_random_key_value :: proc(t: ^testing.T) {
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
if k not_in m {
unique_keys += 1
@@ -89,20 +93,23 @@ map_update_random_key_value :: proc(t: ^testing.T) {
// Reset randomizer and update half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<half_entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
m[k] = v + 42
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
num_fails := 0
for i in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
diff := i64(42) if i < half_entries else i64(0)
cond := m[k] == (v + diff)
@@ -129,9 +136,11 @@ map_delete_random_key_value :: proc(t: ^testing.T) {
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
if k not_in m {
unique_keys += 1
@@ -151,20 +160,23 @@ map_delete_random_key_value :: proc(t: ^testing.T) {
// Reset randomizer and delete half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<half_entries {
k := rand.int63(&r)
_ = rand.int63(&r)
k := rand.int63()
_ = rand.int63()
delete_key(&m, k)
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
num_fails := 0
for i in 0..<entries {
k := rand.int63(&r)
v := rand.int63(&r)
k := rand.int63()
v := rand.int63()
if i < half_entries {
if k in m {
@@ -207,8 +219,10 @@ set_insert_random_key_value :: proc(t: ^testing.T) {
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<entries {
k := rand.int63(&r)
k := rand.int63()
if k not_in m {
unique_keys += 1
}
@@ -225,10 +239,11 @@ set_insert_random_key_value :: proc(t: ^testing.T) {
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
num_fails := 0
for _ in 0..<entries {
k := rand.int63(&r)
k := rand.int63()
cond := k in m
if !cond {
@@ -254,8 +269,10 @@ set_delete_random_key_value :: proc(t: ^testing.T) {
unique_keys := 0
r := rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<entries {
k := rand.int63(&r)
k := rand.int63()
if k not_in m {
unique_keys += 1
@@ -275,17 +292,20 @@ set_delete_random_key_value :: proc(t: ^testing.T) {
// Reset randomizer and delete half the entries
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
for _ in 0..<half_entries {
k := rand.int63(&r)
k := rand.int63()
delete_key(&m, k)
}
// Reset randomizer and verify
r = rand.create(t.seed + seed_incr)
context.random_generator = rand.default_random_generator(&r)
num_fails := 0
for i in 0..<entries {
k := rand.int63(&r)
k := rand.int63()
if i < half_entries {
if k in m {