go.charczuk.com@v0.0.0-20240327042549-bc490516bd1a/experiments/matchmaker/pkg/sim/random.go (about)

     1  /*
     2  
     3  Copyright (c) 2024 - Present. Will Charczuk. All rights reserved.
     4  Use of this source code is governed by a MIT license that can be found in the LICENSE file at the root of the repository.
     5  
     6  */
     7  
     8  package sim
     9  
    10  import (
    11  	"math/rand"
    12  )
    13  
    14  func (s *Simulation) randomNormal(desiredMean, desiredStdDev float64) float64 {
    15  	return randomNormal(s.r, desiredMean, desiredStdDev)
    16  }
    17  
    18  func randomNormal(r *rand.Rand, desiredMean, desiredStdDev float64) float64 {
    19  	nf := r.NormFloat64()
    20  	return nf*float64(desiredStdDev) + float64(desiredMean)
    21  }