get initial try.

but notice it is too skewed towards low numbers
master
NunoSempere 3 months ago
parent 912f51c0e0
commit c4e37643de

@ -1,16 +1,39 @@
package main
import "fmt"
import rand "math/rand/v2"
/*
import "math"
import "sync"
import rand "math/rand/v2"
type src = *rand.Rand
*/
type src = *rand.Rand
func generateRandomMapping(r src) map[int]float64 {
current_probability := 0.0
mapping := make(map[int]float64)
for i := 0; i <= 1000; i++ {
if current_probability < 1.0 {
num_possible_steps := int((1-current_probability)/0.001) + 1
fmt.Println("num possible steps: %d", num_possible_steps)
step := float64(r.IntN(num_possible_steps)) * 0.001
current_probability += step
}
mapping[i] = current_probability
}
return mapping
}
func main() {
fmt.Println("Hello world")
var r = rand.New(rand.NewPCG(uint64(1), uint64(2)))
randomMapping := generateRandomMapping(r)
for i := 0; i <= 1000; i++ {
fmt.Printf("%d: %.4f\n", i, randomMapping[i])
}
}

Loading…
Cancel
Save