time-to-botec

Benchmark sampling in different programming languages
Log | Files | Refs | README

commit 7c907f173d5e8c2fbc3604a02d1cd0979c7a655b
parent 76a73f5d130c9b71f4842357a5ab6f0c2fee98a1
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Fri, 16 Feb 2024 15:03:11 +0100

go: create type alias

Diffstat:
Mgo/squiggle.go | 10+++++++---
1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/go/squiggle.go b/go/squiggle.go @@ -5,7 +5,10 @@ import "math" import "sync" import rand "math/rand/v2" -var r = rand.New(rand.NewPCG(1, 2)) +type func64 = func() float64 +type source = *rand.Rand + +var r source = rand.New(rand.NewPCG(1, 2)) // https://pkg.go.dev/math/rand/v2 @@ -48,8 +51,6 @@ func sample_to(low float64, high float64) float64 { return math.Exp(sample_normal_from_90_ci(loglow, loghigh)) } -type func64 func() float64 - func sample_mixture(fs []func64, weights []float64) float64 { // fmt.Println("weights initially: ", weights) @@ -92,6 +93,9 @@ func slice_fill(xs []float64, fs func64) { } func main() { + + fmt.Printf("Type of r: %T\n", r) + var p_a float64 = 0.8 var p_b float64 = 0.5 var p_c float64 = p_a * p_b