time-to-botec

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

commit 8ebe9487a589e0dc4c58eb7f03e634f3fa3b9dda
parent 6417e0aeccb84995279fd0adb0a11feee575c18b
Author: NunoSempere <nuno.sempere@protonmail.com>
Date:   Fri, 16 Feb 2024 13:58:35 +0100

go: continue working on mixture code

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

diff --git a/go/squiggle.go b/go/squiggle.go @@ -82,25 +82,18 @@ func sample_mixture(fs []func64, weights []float64) float64 { } func main() { + + f1 := func() float64 { return sample_to(1, 10) } + f2 := func() float64 { return sample_to(100, 1000) } + fs := [2](func64){f1, f2} + ws := [2](float64){0.4, 0.1} + var n_samples int = 1000000 - // var array_samples [n_samples]float64 var avg float64 = 0 for i := 0; i < n_samples; i++ { - avg += sample_to(1, 10) + avg += sample_mixture(fs[0:], ws[0:]) } avg = avg / float64(n_samples) fmt.Printf("%v\n", avg) - f1 := func() float64 { - return sample_to(1, 10) - } - - f2 := func() float64 { - return sample_to(100, 1000) - } - - fs := [2](func64){f1, f2} - ws := [2](float64){0.4, 0.1} - x := sample_mixture(fs[0:], ws[0:]) - fmt.Printf("%v\n", x) }