Ver Fonte

Add float64_range and float32_range to package math/rand

gingerBill há 6 anos atrás
pai
commit
40135cbc66
1 ficheiros alterados com 3 adições e 0 exclusões
  1. 3 0
      core/math/rand/rand.odin

+ 3 - 0
core/math/rand/rand.odin

@@ -88,6 +88,9 @@ int_max :: proc(n: int, r: ^Rand = global_rand_ptr) -> int {
 float64 :: proc(r: ^Rand = global_rand_ptr) -> f64 { return f64(int63_max(1<<53, r)) / (1 << 53); }
 float32 :: proc(r: ^Rand = global_rand_ptr) -> f32 { return f32(float64(r)); }
 
+float64_range :: proc(lo, hi: f64, r: ^Rand = global_rand_ptr) -> f64 { return (hi-lo)*float64(r) + lo; }
+float32_range :: proc(lo, hi: f32, r: ^Rand = global_rand_ptr) -> f32 { return (hi-lo)*float32(r) + lo; }
+
 
 read :: proc(p: []byte, r: ^Rand = global_rand_ptr) -> (n: int) {
 	pos := i8(0);