Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

all: migrate to math/rand/v2 #1027

Merged
merged 3 commits into from
Mar 27, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions fads/btagging.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package fads

import (
"math"
"math/rand/v2"
"reflect"
"sync"

"go-hep.org/x/hep/fmom"
"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -74,7 +74,7 @@ func (tsk *BTagging) Configure(ctx fwk.Context) error {
return err
}

tsk.src = rand.New(rand.NewSource(tsk.seed))
tsk.src = rand.New(rand.NewPCG(tsk.seed, tsk.seed))
tsk.flat = distuv.Uniform{Min: 0, Max: 1, Src: tsk.src}
return err
}
Expand Down
4 changes: 2 additions & 2 deletions fads/calo.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ package fads
import (
"fmt"
"math"
"math/rand/v2"
"reflect"
"sort"
"sync"

"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -206,7 +206,7 @@ func (tsk *Calorimeter) Configure(ctx fwk.Context) error {
return err
}

tsk.src = rand.New(rand.NewSource(tsk.seed))
tsk.src = rand.New(rand.NewPCG(tsk.seed, tsk.seed))
tsk.gauss = distuv.Normal{Mu: 0, Sigma: 1, Src: tsk.src}
return err
}
Expand Down
4 changes: 2 additions & 2 deletions fads/efficiency.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
package fads

import (
"math/rand/v2"
"reflect"
"sync"

"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -42,7 +42,7 @@ func (tsk *Efficiency) Configure(ctx fwk.Context) error {

func (tsk *Efficiency) StartTask(ctx fwk.Context) error {
var err error
src := rand.New(rand.NewSource(tsk.seed))
src := rand.New(rand.NewPCG(tsk.seed, tsk.seed))
tsk.dist = distuv.Uniform{Min: 0, Max: 1, Src: src}
return err
}
Expand Down
4 changes: 2 additions & 2 deletions fads/energy_smearing.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package fads

import (
"math"
"math/rand/v2"
"reflect"
"sync"

"go-hep.org/x/hep/fmom"
"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -45,7 +45,7 @@ func (tsk *EnergySmearing) Configure(ctx fwk.Context) error {

func (tsk *EnergySmearing) StartTask(ctx fwk.Context) error {
var err error
tsk.src = rand.New(rand.NewSource(tsk.seed))
tsk.src = rand.New(rand.NewPCG(tsk.seed, tsk.seed))
return err
}

Expand Down
4 changes: 2 additions & 2 deletions fads/momentum_smearing.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package fads

import (
"math"
"math/rand/v2"
"reflect"
"sync"

"go-hep.org/x/hep/fmom"
"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -45,7 +45,7 @@ func (tsk *MomentumSmearing) Configure(ctx fwk.Context) error {

func (tsk *MomentumSmearing) StartTask(ctx fwk.Context) error {
var err error
tsk.src = rand.New(rand.NewSource(tsk.seed))
tsk.src = rand.New(rand.NewPCG(tsk.seed, tsk.seed))
return err
}

Expand Down
4 changes: 2 additions & 2 deletions fads/tautagging.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@ package fads

import (
"math"
"math/rand/v2"
"reflect"
"sync"

"go-hep.org/x/hep/fmom"
"go-hep.org/x/hep/fwk"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand Down Expand Up @@ -90,7 +90,7 @@ func (tsk *TauTagging) Configure(ctx fwk.Context) error {
return err
}

tsk.src = rand.New(rand.NewSource(tsk.seed))
tsk.src = rand.New(rand.NewPCG(tsk.seed, tsk.seed))
tsk.flat = distuv.Uniform{Min: 0, Max: 1, Src: tsk.src}
return err
}
Expand Down
5 changes: 2 additions & 3 deletions fit/curve_nd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,8 @@
package fit_test

import (
"math/rand/v2"
"testing"

"golang.org/x/exp/rand"
)

func TestCurve2D(t *testing.T) {
Expand All @@ -18,7 +17,7 @@ func genData2D(n0, n1 int, f func(x, ps []float64) float64, ps []float64, x0min,
var (
xdata = make([][]float64, n0*n1)
ydata = make([]float64, n0*n1)
rnd = rand.New(rand.NewSource(1234))
rnd = rand.New(rand.NewPCG(1234, 1234))
x0step = (x0max - x0min) / float64(n0)
x1step = (x1max - x1min) / float64(n1)
p = make([]float64, len(ps))
Expand Down
6 changes: 3 additions & 3 deletions fit/hist_example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,11 @@ import (
"image/color"
"log"
"math"
"math/rand/v2"

"go-hep.org/x/hep/fit"
"go-hep.org/x/hep/hbook"
"go-hep.org/x/hep/hplot"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/floats"
"gonum.org/v1/gonum/optimize"
"gonum.org/v1/gonum/stat/distuv"
Expand All @@ -25,7 +25,7 @@ func ExampleH1D_gaussian() {
mean = 2.0
sigma = 4.0
// Values from gonum/optimize:
want = []float64{447.0483517081991, 2.02127773281178, 3.9965893891862687}
want = []float64{450.56454241860934, 2.0146898541006277, 3.9613086671267466}
// Values from ROOT:
// want = []float64{4.53720e+02, 1.93218e+00, 3.93188e+00}
)
Expand All @@ -36,7 +36,7 @@ func ExampleH1D_gaussian() {
dist := distuv.Normal{
Mu: mean,
Sigma: sigma,
Src: rand.New(rand.NewSource(0)),
Src: rand.New(rand.NewPCG(0, 0)),
}

// Draw some random values from the standard
Expand Down
Binary file modified fit/testdata/2d-plane-plot_golden.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified fit/testdata/h1d-gauss-plot_golden.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 5 additions & 6 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -21,24 +21,23 @@ require (
github.com/ulikunitz/xz v0.5.12
github.com/xwb1989/sqlparser v0.0.0-20180606152119-120387863bf2
golang.org/x/crypto v0.36.0
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67
golang.org/x/image v0.25.0
golang.org/x/sync v0.12.0
golang.org/x/text v0.23.0
golang.org/x/tools v0.31.0
gonum.org/v1/gonum v0.15.1
gonum.org/v1/plot v0.15.0
gonum.org/v1/gonum v0.16.0
gonum.org/v1/plot v0.16.0
gopkg.in/yaml.v3 v3.0.1
modernc.org/ql v1.4.11
)

require (
codeberg.org/go-fonts/liberation v0.5.0 // indirect
codeberg.org/go-latex/latex v0.1.0 // indirect
codeberg.org/go-pdf/fpdf v0.10.0 // indirect
git.sr.ht/~sbinet/gg v0.6.0 // indirect
github.com/ajstarks/svgo v0.0.0-20211024235047-1546f124cd8b // indirect
github.com/edsrzf/mmap-go v1.2.0 // indirect
github.com/go-fonts/liberation v0.3.3 // indirect
github.com/go-latex/latex v0.0.0-20240709081214-31cef3c7570e // indirect
github.com/go-pdf/fpdf v0.9.0 // indirect
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
github.com/google/flatbuffers v25.2.10+incompatible // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
Expand Down
30 changes: 14 additions & 16 deletions go.sum
Original file line number Diff line number Diff line change
@@ -1,7 +1,17 @@
codeberg.org/astrogo/fitsio v0.4.0 h1:ATDKD8+cDIi9VJ609JbnPGnJblJPV59iojHGL377Ur0=
codeberg.org/astrogo/fitsio v0.4.0/go.mod h1:MlK0U74YrpQ6WGly5Zw2vHvu74YtzWhi4fUY1oDDvWY=
codeberg.org/go-fonts/dejavu v0.4.0 h1:2yn58Vkh4CFK3ipacWUAIE3XVBGNa0y1bc95Bmfx91I=
codeberg.org/go-fonts/dejavu v0.4.0/go.mod h1:abni088lmhQJvso2Lsb7azCKzwkfcnttl6tL1UTWKzg=
codeberg.org/go-fonts/latin-modern v0.4.0 h1:vkRCc1y3whKA7iL9Ep0fSGVuJfqjix0ica9UflHORO8=
codeberg.org/go-fonts/latin-modern v0.4.0/go.mod h1:BF68mZznJ9QHn+hic9ks2DaFl4sR5YhfM6xTYaP9vNw=
codeberg.org/go-fonts/liberation v0.5.0 h1:SsKoMO1v1OZmzkG2DY+7ZkCL9U+rrWI09niOLfQ5Bo0=
codeberg.org/go-fonts/liberation v0.5.0/go.mod h1:zS/2e1354/mJ4pGzIIaEtm/59VFCFnYC7YV6YdGl5GU=
codeberg.org/go-latex/latex v0.1.0 h1:hoGO86rIbWVyjtlDLzCqZPjNykpWQ9YuTZqAzPcfL3c=
codeberg.org/go-latex/latex v0.1.0/go.mod h1:LA0q/AyWIYrqVd+A9Upkgsb+IqPcmSTKc9Dny04MHMw=
codeberg.org/go-mmap/mmap v0.8.0 h1:YFf2yIHZZTV8lfh86OHd7IDBKsJZARkf0/Rvxz1pVlM=
codeberg.org/go-mmap/mmap v0.8.0/go.mod h1:KgnsNFKF7t8JQJiXODKzoiYpbUTegWihtCrK3BtB8oA=
codeberg.org/go-pdf/fpdf v0.10.0 h1:u+w669foDDx5Ds43mpiiayp40Ov6sZalgcPMDBcZRd4=
codeberg.org/go-pdf/fpdf v0.10.0/go.mod h1:Y0DGRAdZ0OmnZPvjbMp/1bYxmIPxm0ws4tfoPOc4LjU=
codeberg.org/gonuts/binary v0.3.2 h1:7kSBmdRwbUv5fI8LaGp/gV+ow2OTi7EnRKO/pQ6YBJo=
codeberg.org/gonuts/binary v0.3.2/go.mod h1:hf+kigzXMZzpPTDOuSnTz+ppy5p037QluUFVtJ3OjWI=
codeberg.org/gonuts/commander v0.5.1 h1:Rmy1GllX4L7/jtLEZURtPUzAkGX+XLJInyGepTF8ois=
Expand Down Expand Up @@ -29,16 +39,6 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
github.com/edsrzf/mmap-go v1.1.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q=
github.com/edsrzf/mmap-go v1.2.0 h1:hXLYlkbaPzt1SaQk+anYwKSRNhufIDCchSPkUD6dD84=
github.com/edsrzf/mmap-go v1.2.0/go.mod h1:19H/e8pUPLicwkyNgOykDXkJ9F0MHE+Z52B8EIth78Q=
github.com/go-fonts/dejavu v0.3.4 h1:Qqyx9IOs5CQFxyWTdvddeWzrX0VNwUAvbmAzL0fpjbc=
github.com/go-fonts/dejavu v0.3.4/go.mod h1:D1z0DglIz+lmpeNYMYlxW4r22IhcdOYnt+R3PShU/Kg=
github.com/go-fonts/latin-modern v0.3.3 h1:g2xNgI8yzdNzIVm+qvbMryB6yGPe0pSMss8QT3QwlJ0=
github.com/go-fonts/latin-modern v0.3.3/go.mod h1:tHaiWDGze4EPB0Go4cLT5M3QzRY3peya09Z/8KSCrpY=
github.com/go-fonts/liberation v0.3.3 h1:tM/T2vEOhjia6v5krQu8SDDegfH1SfXVRUNNKpq0Usk=
github.com/go-fonts/liberation v0.3.3/go.mod h1:eUAzNRuJnpSnd1sm2EyloQfSOT79pdw7X7++Ri+3MCU=
github.com/go-latex/latex v0.0.0-20240709081214-31cef3c7570e h1:xcdj0LWnMSIU1j8+jIeJyfvk6SjgJedFQssSqFthJ2E=
github.com/go-latex/latex v0.0.0-20240709081214-31cef3c7570e/go.mod h1:J4SAGzkcl+28QWi7yz72tyC/4aGnppOvya+AEv4TaAQ=
github.com/go-pdf/fpdf v0.9.0 h1:PPvSaUuo1iMi9KkaAn90NuKi+P4gwMedWPHhj8YlJQw=
github.com/go-pdf/fpdf v0.9.0/go.mod h1:oO8N111TkmKb9D7VvWGLvLJlaZUQVPM+6V42pp3iV4Y=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
Expand Down Expand Up @@ -110,8 +110,6 @@ golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5y
golang.org/x/crypto v0.6.0/go.mod h1:OFC/31mSvZgRz0V1QTNCzfAI1aIRzbiufJtkMIlEp58=
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67 h1:1UoZQm6f0P/ZO0w1Ri+f+ifG/gXhegadRdwBIXEFWDo=
golang.org/x/exp v0.0.0-20241217172543-b2144cdd0a67/go.mod h1:qj5a5QZpwLU2NLQudwIN5koi3beDhSAlJwa67PuM98c=
golang.org/x/image v0.25.0 h1:Y6uW6rH1y5y/LK1J8BPWZtr6yZ7hrsy6hFrXjgsc2fQ=
golang.org/x/image v0.25.0/go.mod h1:tCAmOEGthTtkalusGp1g3xa2gke8J6c2N565dTyl9Rs=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
Expand Down Expand Up @@ -164,10 +162,10 @@ golang.org/x/tools v0.31.0/go.mod h1:naFTU+Cev749tSJRXJlna0T3WxKvb1kWEx15xA4SdmQ
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gonum.org/v1/gonum v0.15.1 h1:FNy7N6OUZVUaWG9pTiD+jlhdQ3lMP+/LcTpJ6+a8sQ0=
gonum.org/v1/gonum v0.15.1/go.mod h1:eZTZuRFrzu5pcyjN5wJhcIhnUdNijYxX1T2IcrOGY0o=
gonum.org/v1/plot v0.15.0 h1:SIFtFNdZNWLRDRVjD6CYxdawcpJDWySZehJGpv1ukkw=
gonum.org/v1/plot v0.15.0/go.mod h1:3Nx4m77J4T/ayr/b8dQ8uGRmZF6H3eTqliUExDrQHnM=
gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk=
gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E=
gonum.org/v1/plot v0.16.0 h1:dK28Qx/Ky4VmPUN/2zeW0ELyM6ucDnBAj5yun7M9n1g=
gonum.org/v1/plot v0.16.0/go.mod h1:Xz6U1yDMi6Ni6aaXILqmVIb6Vro8E+K7Q/GeeH+Pn0c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
Expand Down
34 changes: 17 additions & 17 deletions groot/rhist/hist_example_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import (
"bytes"
"fmt"
"log"
"math/rand/v2"
"os"
"testing"

Expand All @@ -18,7 +19,6 @@ import (
"go-hep.org/x/hep/hbook"
"go-hep.org/x/hep/hbook/rootcnv"
"go-hep.org/x/hep/hbook/yodacnv"
"golang.org/x/exp/rand"
"gonum.org/v1/gonum/stat/distuv"
)

Expand All @@ -38,7 +38,7 @@ func ExampleCreate_histo1D() {
dist := distuv.Normal{
Mu: 0,
Sigma: 1,
Src: rand.New(rand.NewSource(0)),
Src: rand.New(rand.NewPCG(0, 0)),
}

// Draw some random values from the standard
Expand Down Expand Up @@ -87,12 +87,12 @@ func ExampleCreate_histo1D() {

// Output:
// original histo:
// w-mean: 0.0023919
// w-rms: 1.0628679
// w-mean: -0.0010939
// w-rms: 1.0575275
//
// histo read back:
// r-mean: 0.0023919
// r-rms: 1.0628679
// r-mean: -0.0010939
// r-rms: 1.0575275
}

func ExampleCreate_histo2D() {
Expand All @@ -111,7 +111,7 @@ func ExampleCreate_histo2D() {
dist := distuv.Normal{
Mu: 0,
Sigma: 1,
Src: rand.New(rand.NewSource(0)),
Src: rand.New(rand.NewPCG(0, 0)),
}

// Draw some random values from the standard
Expand Down Expand Up @@ -166,16 +166,16 @@ func ExampleCreate_histo2D() {

// Output:
// original histo:
// w-mean-x: +0.046442
// w-rms-x: +1.231044
// w-mean-y: -0.018977
// w-rms-y: +1.253143
// w-mean-x: +0.016810
// w-rms-x: +1.256504
// w-mean-y: +0.030289
// w-rms-y: +1.300039
//
// histo read back:
// w-mean-x: +0.046442
// w-rms-x: +1.231044
// w-mean-y: -0.018977
// w-rms-y: +1.253143
// w-mean-x: +0.016810
// w-rms-x: +1.256504
// w-mean-y: +0.030289
// w-rms-y: +1.300039
}

func TestH1(t *testing.T) {
Expand All @@ -185,7 +185,7 @@ func TestH1(t *testing.T) {
dist := distuv.Normal{
Mu: 0,
Sigma: 1,
Src: rand.New(rand.NewSource(0)),
Src: rand.New(rand.NewPCG(0, 0)),
}

// Draw some random values from the standard
Expand Down Expand Up @@ -285,7 +285,7 @@ func TestH2(t *testing.T) {
dist := distuv.Normal{
Mu: 0,
Sigma: 1,
Src: rand.New(rand.NewSource(0)),
Src: rand.New(rand.NewPCG(0, 0)),
}

// Draw some random values from the standard
Expand Down
Loading
Loading